summaryrefslogtreecommitdiffstats
path: root/man-pages-posix-2013/man3p/setsid.3p
diff options
context:
space:
mode:
Diffstat (limited to 'man-pages-posix-2013/man3p/setsid.3p')
-rw-r--r--man-pages-posix-2013/man3p/setsid.3p111
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 .