setsid
Synopsis
#include <unistd.h>
pid_t setsid(void);
Status
Partially implemented
Conformance
IEEE Std 1003.1-2017
Description
The setsid()
function shall create a new session, if the calling process is not a process group leader. Upon return
the calling process shall be the session leader of this new session, shall be the process group leader of a new process
group, and shall have no controlling terminal. The process group ID of the calling process shall be set equal to the
process ID of the calling process. The calling process shall be the only process in the new process group and the only
process in the new session.
Return value
Upon successful completion, setsid()
shall return the value of the new process group ID of the calling process.
Otherwise, it shall return -1
and set errno
to indicate the error.
Errors
The setsid()
function shall fail if:
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.
Tests
Untested
Known bugs
None