sd_pid_get_owner_uid(3) [x11r4 man page]
SD_PID_GET_SESSION(3) sd_pid_get_session SD_PID_GET_SESSION(3) NAME
sd_pid_get_session, sd_pid_get_unit, sd_pid_get_owner_uid - Determine session, service or owner of a session of a specific PID SYNOPSIS
#include <systemd/sd-login.h> int sd_pid_get_session(pid_t pid, char** session); int sd_pid_get_unit(pid_t pid, char** unit); int sd_pid_get_owner_uid(pid_t pid, uid_t* uid); DESCRIPTION
sd_pid_get_session() may be used to determine the login session identifier of a process identified by the specified process identifier. The session identifier is a short string, suitable for usage in file system paths. Note that not all processes are part of a login session (e.g. system service processes, user processes that are shared between multiple sessions of the same user, or kernel threads). For processes not being part of a login session this function will fail. The returned string needs to be freed with the libc free(3) call after use. sd_pid_get_unit() may be used to determine the systemd unit (i.e. system service) identifier of a process identified by the specified process identifier. The unit name is a short string, suitable for usage in file system paths. Note that not all processes are part of a unit/service (e.g. user processes, or kernel threads). For processes not being part of a systemd unit/system service this function will fail. The returned string needs to be freed with the libc free(3) call after use. sd_pid_get_owner_uid() may be used to determine the Unix user identifier of the owner of the session of a process identified the specified PID. Note that this function will succeed for user processes which are shared between multiple login sessions of the same user, where sd_pid_get_session() will fail. For processes not being part of a login session and not being a shared process of a user this function will fail. If the pid paramater of any of these functions is passed as 0 the operation is executed for the calling process. RETURN VALUE
On success these calls return 0 or a positive integer. On failure, these calls return a negative errno-style error code. NOTES
The sd_pid_get_session(), sd_pid_get_pid(), and sd_pid_get_owner_uid() interfaces are available as shared library, which can be compiled and linked to with the libsystemd-login pkg-config(1) file. Note that the login session identifier as returned by sd_pid_get_session() is completely unrelated to the process session identifier as returned by getsid(2). SEE ALSO
systemd(1), sd-login(7), sd_session_is_active(3), getsid(2) AUTHOR
Lennart Poettering <lennart@poettering.net> Developer systemd 10/07/2013 SD_PID_GET_SESSION(3)
Check Out this Related Man Page
SD_PID_GET_SESSION(3) sd_pid_get_session SD_PID_GET_SESSION(3) NAME
sd_pid_get_session, sd_pid_get_unit, sd_pid_get_owner_uid - Determine session, service or owner of a session of a specific PID SYNOPSIS
#include <systemd/sd-login.h> int sd_pid_get_session(pid_t pid, char** session); int sd_pid_get_unit(pid_t pid, char** unit); int sd_pid_get_owner_uid(pid_t pid, uid_t* uid); DESCRIPTION
sd_pid_get_session() may be used to determine the login session identifier of a process identified by the specified process identifier. The session identifier is a short string, suitable for usage in file system paths. Note that not all processes are part of a login session (e.g. system service processes, user processes that are shared between multiple sessions of the same user, or kernel threads). For processes not being part of a login session this function will fail. The returned string needs to be freed with the libc free(3) call after use. sd_pid_get_unit() may be used to determine the systemd unit (i.e. system service) identifier of a process identified by the specified process identifier. The unit name is a short string, suitable for usage in file system paths. Note that not all processes are part of a unit/service (e.g. user processes, or kernel threads). For processes not being part of a systemd unit/system service this function will fail. The returned string needs to be freed with the libc free(3) call after use. sd_pid_get_owner_uid() may be used to determine the Unix user identifier of the owner of the session of a process identified the specified PID. Note that this function will succeed for user processes which are shared between multiple login sessions of the same user, where sd_pid_get_session() will fail. For processes not being part of a login session and not being a shared process of a user this function will fail. If the pid paramater of any of these functions is passed as 0 the operation is executed for the calling process. RETURN VALUE
On success these calls return 0 or a positive integer. On failure, these calls return a negative errno-style error code. NOTES
The sd_pid_get_session(), sd_pid_get_pid(), and sd_pid_get_owner_uid() interfaces are available as shared library, which can be compiled and linked to with the libsystemd-login pkg-config(1) file. Note that the login session identifier as returned by sd_pid_get_session() is completely unrelated to the process session identifier as returned by getsid(2). SEE ALSO
systemd(1), sd-login(7), sd_session_is_active(3), getsid(2) AUTHOR
Lennart Poettering <lennart@poettering.net> Developer systemd 10/07/2013 SD_PID_GET_SESSION(3)