SD_PID_GET_SESSION(3)sd_pid_get_sessionSD_PID_GET_SESSION(3)NAME
sd_pid_get_session, sd_pid_get_owner_uid - Determine session 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_owner_uid(pid_t pid, uid_t* uid);
DESCRIPTIONsd_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 and user processes that are shared
between multiple sessions of the same user). 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_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.
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() 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 ALSOsystemd(1), sd-login(7), sd_session_is_active(3), getsid(2)AUTHOR
Lennart Poettering <lennart@poettering.net>
Developer
systemd 05/23/2012 SD_PID_GET_SESSION(3)