NAME
setsid — create session and set process group ID
SYNOPSIS
#include <unistd.h>
pid_t setsid(void);
DESCRIPTION
If the calling process is not a process group leader,
setsid()
creates a new session.
The calling process becomes the session leader of this new session,
it becomes the process group leader of a new process group,
and it has no controlling terminal.
The process group
ID of the calling process is set equal to the process
ID of the calling process.
The calling process is the only process in the new process group,
and the only process in the new session.
RETURN VALUE
Upon successful completion,
setsid()
returns the value of the new process group
ID of the calling process.
Otherwise, it returns a value of
-1,
and sets
errno
to indicate the error.
ERRORS
If
setsid()
fails, no changes occur and
errno
(see
errno(2))
is set to one of the following values:
- [EPERM]
The calling process is already a process group leader or
the process group
ID of a process other than the calling
process matches the process
ID of the calling process.
AUTHOR
setsid()
was developed by HP and AT&T.
STANDARDS CONFORMANCE
setsid(): AES, SVID3, XPG3, XPG4, XPG4.2, FIPS 151-2, POSIX.1