diff options
Diffstat (limited to 'man-pages-posix-2013/man3p/setsid.3p')
-rw-r--r-- | man-pages-posix-2013/man3p/setsid.3p | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/man-pages-posix-2013/man3p/setsid.3p b/man-pages-posix-2013/man3p/setsid.3p new file mode 100644 index 0000000..4eb4e0e --- /dev/null +++ b/man-pages-posix-2013/man3p/setsid.3p @@ -0,0 +1,111 @@ +'\" et +.TH SETSID "3P" 2013 "IEEE/The Open Group" "POSIX Programmer's Manual" +.SH PROLOG +This manual page is part of the POSIX Programmer's Manual. +The Linux implementation of this interface may differ (consult +the corresponding Linux manual page for details of Linux behavior), +or the interface may not be implemented on Linux. + +.SH NAME +setsid +\(em create session and set process group ID +.SH SYNOPSIS +.LP +.nf +#include <unistd.h> +.P +pid_t setsid(void); +.fi +.SH DESCRIPTION +The +\fIsetsid\fR() +function shall create a new session, if the calling process is not a +process group leader. Upon return the calling process shall be the +session leader of this new session, shall be the process group leader +of a new process group, and shall have no controlling terminal. The +process group ID of the calling process shall be set equal to the +process ID of the calling process. The calling process shall be the +only process in the new process group and the only process in the new +session. +.SH "RETURN VALUE" +Upon successful completion, +\fIsetsid\fR() +shall return the value of the new process group ID of the calling +process. Otherwise, it shall return \(mi1 and set +.IR errno +to indicate the error. +.SH ERRORS +The +\fIsetsid\fR() +function shall fail if: +.TP +.BR EPERM +The calling process is already a process group leader, or the process +group ID of a process other than the calling process matches the +process ID of the calling process. +.LP +.IR "The following sections are informative." +.SH EXAMPLES +None. +.SH "APPLICATION USAGE" +None. +.SH RATIONALE +The +\fIsetsid\fR() +function is similar to the +\fIsetpgrp\fR() +function of System V. +System V, without job control, groups processes into +process groups and creates new process groups via +\fIsetpgrp\fR(); +only one process group may be part of a login session. +.P +Job control allows multiple process groups within a login session. In +order to limit job control actions so that they can only affect +processes in the same login session, this volume of POSIX.1\(hy2008 adds the concept of a +session that is created via +\fIsetsid\fR(). +The +\fIsetsid\fR() +function also creates the initial process group contained in the +session. Additional process groups can be created via the +\fIsetpgid\fR() +function. A System V process group would correspond to a POSIX System +Interfaces session containing a single POSIX process group. Note that +this function requires that the calling process not be a process group +leader. The usual way to ensure this is true is to create a new process +with +\fIfork\fR() +and have it call +\fIsetsid\fR(). +The +\fIfork\fR() +function guarantees that the process ID of the new process does not +match any existing process group ID. +.SH "FUTURE DIRECTIONS" +None. +.SH "SEE ALSO" +.IR "\fIgetsid\fR\^(\|)", +.IR "\fIsetpgid\fR\^(\|)", +.IR "\fIsetpgrp\fR\^(\|)" +.P +The Base Definitions volume of POSIX.1\(hy2008, +.IR "\fB<sys_types.h>\fP", +.IR "\fB<unistd.h>\fP" +.SH COPYRIGHT +Portions of this text are reprinted and reproduced in electronic form +from IEEE Std 1003.1, 2013 Edition, Standard for Information Technology +-- Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 7, Copyright (C) 2013 by the Institute of +Electrical and Electronics Engineers, Inc and The Open Group. +(This is POSIX.1-2008 with the 2013 Technical Corrigendum 1 applied.) In the +event of any discrepancy between this version and the original IEEE and +The Open Group Standard, the original IEEE and The Open Group Standard +is the referee document. The original Standard can be obtained online at +http://www.unix.org/online.html . + +Any typographical or formatting errors that appear +in this page are most likely +to have been introduced during the conversion of the source files to +man page format. To report such errors, see +https://www.kernel.org/doc/man-pages/reporting_bugs.html . |