GETSID(2)

NAME
getsid - get session ID

SYNOPSIS
#include <unistd.h>

pid_t getsid(pid_t pid);

Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

getsid(): _XOPEN_SOURCE >= 500

DESCRIPTION
getsid(0) returns the session ID of the calling process. getsid(p) returns the session ID of the process with process ID p. (The session ID of a process is the process group ID of the session leader.)

RETURN VALUE
On success, a session ID is returned. On error, (pid_t) -1 will be returned, and errno is set appropriately.

ERRORS

EPERM
    A process with process ID p exists, but it is not in the same session as the current process, and the implementation considers this an error.

ESRCH
    No process with process ID p was found.

CONFORMING TO
SVr4, POSIX.1-2001.

NOTES
Linux does not return EPERM.

Linux has this system call since Linux 1.3.44. There is libc support since libc 5.2.19.

SEE ALSO
getpgid(2), setsid(2), credentials(7)