2008-07-06 15:10:32 +00:00
|
|
|
.\" Copyright Michael Haardt (michael@cantor.informatik.rwth-aachen.de)
|
|
|
|
.\" Sat Aug 27 20:43:50 MET DST 1994
|
2004-11-03 13:51:07 +00:00
|
|
|
.\"
|
|
|
|
.\" 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>
|
|
|
|
.\"
|
2008-12-03 20:56:16 +00:00
|
|
|
.TH SETSID 2 2008-12-03 "Linux" "Linux Programmer's Manual"
|
2004-11-03 13:51:07 +00:00
|
|
|
.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
|
2007-05-12 09:06:04 +00:00
|
|
|
.BR setsid ()
|
|
|
|
creates a new session if the calling process is not a
|
2007-04-12 22:42:49 +00:00
|
|
|
process group leader.
|
|
|
|
The calling process is the leader of the new
|
2004-11-03 13:51:07 +00:00
|
|
|
session, the process group leader of the new process group, and has no
|
lseek.2, read.2, setsid.2, vhangup.2, getttyent.3, login.3, openpty.3, console_codes.4, console_ioctl.4, securetty.5, signal.7: Global fix: s/tty/terminal/
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-12-31 20:54:13 +00:00
|
|
|
controlling terminal.
|
2007-04-12 22:42:49 +00:00
|
|
|
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.
|
2004-11-03 13:51:07 +00:00
|
|
|
.SH "RETURN VALUE"
|
2008-12-03 20:56:16 +00:00
|
|
|
On success, the (new) session ID of the calling process is returned.
|
|
|
|
On error,
|
|
|
|
.I "(pid_t)\ \-1"
|
|
|
|
is returned, and
|
2004-12-20 12:24:06 +00:00
|
|
|
.I errno
|
2008-12-03 20:56:16 +00:00
|
|
|
is set to indicate the error.
|
|
|
|
.SH ERRORS
|
|
|
|
.TP
|
2010-05-24 12:43:43 +00:00
|
|
|
.B EPERM
|
|
|
|
The process group ID of any process equals the PID of the calling process.
|
2007-04-12 22:42:49 +00:00
|
|
|
Thus, in particular,
|
2005-10-19 06:54:38 +00:00
|
|
|
.BR setsid ()
|
2004-11-03 13:51:07 +00:00
|
|
|
fails if the calling process is already a process group leader.
|
2007-05-18 16:06:42 +00:00
|
|
|
.SH "CONFORMING TO"
|
|
|
|
SVr4, POSIX.1-2001.
|
2004-11-03 13:51:07 +00:00
|
|
|
.SH NOTES
|
2007-04-12 22:42:49 +00:00
|
|
|
A child created via
|
2006-07-22 14:45:50 +00:00
|
|
|
.BR fork (2)
|
|
|
|
inherits its parent's session ID.
|
|
|
|
The session ID is preserved across an
|
|
|
|
.BR execve (2).
|
|
|
|
|
2004-11-03 13:51:07 +00:00
|
|
|
A process group leader is a process with process group ID equal
|
2007-04-12 22:42:49 +00:00
|
|
|
to its PID.
|
|
|
|
In order to be sure that
|
2005-10-19 06:54:38 +00:00
|
|
|
.BR setsid ()
|
2007-04-12 22:42:49 +00:00
|
|
|
will succeed,
|
2007-05-11 23:07:02 +00:00
|
|
|
.BR fork (2)
|
2007-04-12 22:42:49 +00:00
|
|
|
and
|
2007-05-11 23:07:02 +00:00
|
|
|
.BR _exit (2),
|
2005-10-20 15:11:10 +00:00
|
|
|
and have the child do
|
2005-07-19 15:36:19 +00:00
|
|
|
.BR setsid ().
|
2004-11-03 13:51:07 +00:00
|
|
|
.SH "SEE ALSO"
|
2007-12-27 15:32:43 +00:00
|
|
|
.BR getsid (2),
|
2004-11-03 13:51:07 +00:00
|
|
|
.BR setpgid (2),
|
2006-05-29 05:25:37 +00:00
|
|
|
.BR setpgrp (2),
|
2007-12-27 15:32:43 +00:00
|
|
|
.BR tcgetsid (3),
|
|
|
|
.BR credentials (7)
|