Provided by: manpages-dev_2.17-1_all bug

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 process group ID and session ID  of  the  calling
       process are set to the PID of the calling process.  The calling process
       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 is returned, and errno is set.  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)