SETSID(2V) — SYSTEM CALLS
NAME
setsid − create session and set process group ID
SYNOPSIS
#include <sys/types.h>
pid_t setsid()
DESCRIPTION
If the calling process is not a process group leader, the setsid() function creates a new session. The calling process is the session leader of this new session, the process group leader of a new process group, and has no controlling terminal. If the process had a controlling terminal, setsid() breaks the association between the process and that 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 VALUES
setsid() returns the process group ID of the calling process on success. On failure, it returns −1 and sets errno to indicate the error.
ERRORS
If any of the following conditions occur, setsid() returns −1 and sets errno to the corresponding value:
EPERM The calling process is already a process group leader.
The process ID of the calling process equals the process group ID of a different process.
SEE ALSO
execve(2V), exit(2V), fork(2V), getpid(2V), getpgrp(2V), kill(2V), setpgid(2V), sigaction(3V)
Solbourne Computer, Inc. — 12 Dec 1990