mirror of https://github.com/mkerrisk/man-pages
71 lines
2.5 KiB
Groff
71 lines
2.5 KiB
Groff
.\" Copyright Michael Haardt (michael@cantor.informatik.rwth-aachen.de) Sat Aug 27 20:43:50 MET DST 1994
|
|
.\"
|
|
.\" This is free documentation; you can redistribute it and/or
|
|
.\" modify it under the terms of the GNU General Public License as
|
|
.\" published by the Free Software Foundation; either version 2 of
|
|
.\" the License, or (at your option) any later version.
|
|
.\"
|
|
.\" The GNU General Public License's references to "object code"
|
|
.\" and "executables" are to be interpreted as the output of any
|
|
.\" document formatting or typesetting system, including
|
|
.\" intermediate and printed output.
|
|
.\"
|
|
.\" This manual is distributed in the hope that it will be useful,
|
|
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
.\" GNU General Public License for more details.
|
|
.\"
|
|
.\" You should have received a copy of the GNU General Public
|
|
.\" License along with this manual; if not, write to the Free
|
|
.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
|
|
.\" USA.
|
|
.\"
|
|
.\" Modified Sun Sep 11 19:19:05 1994 <faith@cs.unc.edu>
|
|
.\" Modified Mon Mar 25 10:19:00 1996 <aeb@cwi.nl> (merged a few
|
|
.\" tiny changes from a man page by Charles Livingston).
|
|
.\" Modified Sun Jul 21 14:45:46 1996 <aeb@cwi.nl>
|
|
.\"
|
|
.TH SETSID 2 1994-08-27 "Linux 1.0.0" "Linux Programmer's Manual"
|
|
.SH NAME
|
|
setsid \- creates a session and sets the process group ID
|
|
.SH SYNOPSIS
|
|
.ad l
|
|
.B #include <unistd.h>
|
|
.sp
|
|
.B pid_t setsid(void);
|
|
.br
|
|
.ad b
|
|
.SH DESCRIPTION
|
|
\fBsetsid\fP() 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.
|
|
.SH "RETURN VALUE"
|
|
The session ID of the calling process.
|
|
.SH ERRORS
|
|
On error, \-1 is returned, and
|
|
.I 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,
|
|
.BR setsid ()
|
|
fails if the calling process is already a process group leader.
|
|
.SH NOTES
|
|
A process group leader is a process with process group ID equal
|
|
to its PID. In order to be sure that
|
|
.BR setsid ()
|
|
will succeed,
|
|
.BR fork ()
|
|
and
|
|
.BR exit (),
|
|
and have the child do
|
|
.BR setsid ().
|
|
.SH "CONFORMING TO"
|
|
POSIX, SVr4.
|
|
.SH "SEE ALSO"
|
|
.BR setpgid (2),
|
|
.BR setpgrp (2)
|