setsid - Set the process group ID
Application developers may want to specify an #include
statement for <sys/types.h> before the one for <unistd.h>
if programs are being developed for multiple platforms.
The additional #include statement is not required on Tru64
UNIX systems or by ISO or XSH standards, but may be on
other vendors' systems that conform to these standards.
Interfaces documented on this reference page conform to
industry standards as follows:
setsid(): XSH4.0, XSH4.2, XSH5.0
Refer to the standards(5) reference page for more information
about industry standards and associated tags.
The setsid() function creates a new session when the calling
process is not a process group leader. The calling
process then becomes the session leader of this session,
becomes the process leader of the new process group, and
has no controlling terminal. The process group ID of the
calling process is set equal to its process ID. The calling
process becomes the only process in the new process
group and the only process in the new session.
Upon successful completion, the setsid function returns
the value of the new process group ID. Otherwise, a value
of (pid_t)-1 is returned and errno is set to indicate the
The setsid() function sets errno to the specified values
for the following conditions: The calling process is
already the process group leader, or the process group ID
of another process matches the process ID of the calling
Functions: getpid(2), getsid(2), setpgid(2)
[ Back ]