.\" Copyright (C) 1996 Andries Brouwer (aeb@cwi.nl)
+.\" and Copyright (C) 2016 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
.\" This is free documentation; you can redistribute it and/or
.\"
.\" Modified Thu Oct 31 14:18:40 1996 by Eric S. Raymond <esr@y\thyrsus.com>
.\" Modified 2001-12-17, aeb
-.TH GETSID 2 2015-08-08 "Linux" "Linux Programmer's Manual"
+.TH GETSID 2 2017-09-15 "Linux" "Linux Programmer's Manual"
.SH NAME
getsid \- get session ID
.SH SYNOPSIS
+.B #include <sys/types.h>
+.br
.B #include <unistd.h>
-.sp
+.PP
.BI "pid_t getsid(pid_t" " pid" );
-.sp
+.PP
.in -4n
Feature Test Macro Requirements for glibc (see
.BR feature_test_macros (7)):
.in
-.sp
+.PP
.ad l
.PD 0
.BR getsid ():
.RS 4
-_XOPEN_SOURCE\ >=\ 500 ||
-_XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
+_XOPEN_SOURCE\ >=\ 500
+.\" || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
.br
-|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\ >=\ 200809L
+ || /* Since glibc 2.12: */ _POSIX_C_SOURCE\ >=\ 200809L
.RE
.PD
.ad
.SH DESCRIPTION
.I getsid(0)
returns the session ID of the calling process.
-.I getsid(p)
+.BR getsid ()
returns the session ID of the process with process ID
-.IR p .
-(The session ID of a process is the process group ID of the
-session leader.)
+.IR pid .
+If
+.I pid
+is 0,
+.BR getsid ()
+returns the session ID of the calling process.
.SH RETURN VALUE
On success, a session ID is returned.
On error, \fI(pid_t)\ \-1\fP will be returned, and
.TP
.B EPERM
A process with process ID
-.I p
+.I pid
exists, but it is not in the same session as the calling process,
and the implementation considers this an error.
.TP
.B ESRCH
No process with process ID
-.I p
+.I pid
was found.
.SH VERSIONS
This system call is available on Linux since version 2.0.
.SH NOTES
Linux does not return
.BR EPERM .
+.PP
+See
+.BR credentials (7)
+for a description of sessions and session IDs.
.SH SEE ALSO
.BR getpgid (2),
.BR setsid (2),