Standard C library (libc, -lc)
#include <unistd.h>
pid_t getsid(pid_t pid);
getsid():
_XOPEN_SOURCE >= 500
|| /* Since glibc 2.12: */ _POSIX_C_SOURCE >= 200809L getsid() returns the session ID of the process with process ID pid. If pid is 0, getsid() returns the session ID of the calling process.
On success, a session ID is returned. On error, (pid_t) -1 is returned, and errno is set to indicate the error.
- EPERM
- A process with process ID pid exists, but it is not in the same session as the calling process, and the implementation considers this an error.
- ESRCH
- No process with process ID pid was found.
Linux does not return EPERM.
POSIX.1-2001, SVr4. Linux 2.0.