SETSID(2)           Linux Programmer's Manual           SETSID(2)

NAME
       setsid - creates a session and sets the process group ID

SYNOPSIS
       #include <unistd.h>

       pid_t setsid(void);

DESCRIPTION
       setsid()  creates  a new session if the calling process is
       not a process group leader.  The calling  process  is  the
       leader of the new session, the process group leader of the
       new process group, and has no controlling tty.   The  pro-
       cess  group  ID  and session ID of the calling process are
       set to the PID of the calling process.  The  calling  pro-
       cess  will  be  the only process in this new process group
       and in this new session.

RETURN VALUE
       The session ID of the calling process.

ERRORS
       On error, -1 will be returned.  The only error  which  can
       happen  is EPERM. It is returned when the process group ID
       of any process equals the  PID  of  the  calling  process.
       Thus,  in  particular, setsid fails if the calling process
       is already a process group leader.

NOTES
       A process group leader is a process with process group  ID
       equal  to  its  PID.  In order to be sure that setsid will
       succeed, fork and exit, and have the child do setsid().

CONFORMING TO
       POSIX, SVr4.

SEE ALSO
       setpgid(2), setpgrp(2)

Linux 1.0.0                Aug 27, 1994                         1