From Linux Man Pages
getsid - get session ID
SYNOPSIS
#include <unistd.h>
pid_t getsid(pid_t pid);
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.) 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.
To get the prototype under glibc, define both _XOPEN_SOURCE and _XOPEN_SOURCE_EXTENDED, or use "#define
_XOPEN_SOURCE n" for some integer n larger than or equal to 500.
RELATED
getpgid(2), setsid(2), feature_test_macros(7)
CATEGORY