setsid - create session and set process group ID
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.
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.
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.
setsid() was developed by HP and AT&T.
exec(2), exit(2), fork(2), getpid(2), kill(2), setpgid(2), setpgrp(2),
setpgrp3(2), signal(2), termio(7).
setsid(): AES, SVID3, XPG3, XPG4, XPG4.2, FIPS 151-2, POSIX.1
Hewlett-Packard Company - 1 - HP-UX Release 11i: November 2000