.\" -*- coding: UTF-8 -*-
.\" Copyright Michael Haardt (michael@cantor.informatik.rwth-aachen.de)
.\"     Sat Aug 27 20:43:50 MET DST 1994
.\" and Copyright (C) 2014, Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
.\" 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>
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH setsid 2 "2 maja 2024 r." "Linux man\-pages 6.9.1" 
.SH NAZWA
setsid \- tworzy sesję i ustawia identyfikator grupy procesu
.SH BIBLIOTEKA
Standardowa biblioteka C (\fIlibc\fP, \fI\-lc\fP)
.SH SKŁADNIA
.nf
\fB#include <unistd.h>\fP
.P
\fBpid_t setsid(void);\fP
.fi
.SH OPIS
\fBsetsid\fP() tworzy nową sesję, jeśli wywołujący proces nie jest liderem
grupy procesów. Wywołujący proces jest liderem nowej sesji (tj. jego
identyfikator sesji będzie taki sam, jak jego identyfikator procesu). Proces
wywołujący staje się również liderem grupy procesów nowej grupy procesu w
sesji (tj. jego identyfikator grupy procesu będzie taki sam, jak jego
identyfikator procesu).
.P
Proces wywołujący będzie jedynym procesem w nowej grupie procesu i w nowej
sesji.
.P
Początkowo, nowa sesja nie ma terminala sterującego. Szczegóły o pozyskaniu
terminala sterującego przez sesję opisano w podręczniku \fBcredentials\fP(7).
.SH "WARTOŚĆ ZWRACANA"
W przypadku powodzenia zwracany jest (nowy) identyfikator sesji procesu
wywołującego. W razie wystąpienia błędu zwracane jest \fI(pid_t)\ \-1\fP i
ustawiane jest \fIerrno\fP, wskazując błąd.
.SH BŁĘDY
.TP 
\fBEPERM\fP
Identyfikator grupy procesu dowolnego procesu równa się PID\-owi procesu
wywołującego. Dlatego, w szczególności, \fBsetsid\fP() zawodzi, jeśli proces
wywołujący jest już liderem grupy procesów.
.SH STANDARDY
POSIX.1\-2008.
.SH HISTORIA
POSIX.1\-2001, SVr4.
.SH UWAGI
Potomek utworzony przez \fBfork\fP(2) dziedziczy identyfikator sesji od swojego
rodzica. Wartość identyfikatora sesji jest także zachowywana podczas
\fBexecve\fP(2).
.P
Liderem grupy procesów jest proces, którego identyfikator grupy procesu
równa się jego PID\-owi. Odmowa wywołania \fBsetsid\fP() dla lidera grupy
procesów ma na celu zapobieżenie ewentualności, gdy lider grupy procesów
umieściłby się w nowej sesji, podczas gdy inne procesy w jego grupie
procesów pozostałyby w pierwotnej sesji; taki scenariusz przełamałby ścisłą,
dwupoziomową hierarchię sesji i grup procesów. Aby zapewnić, że \fBsetsid\fP()
się powiedzie, należy wywołać \fBfork\fP(2) i dokonać \fB_exit\fP(2) przez
rodzica, podczas gdy potomek (który z definicji nie może być liderem grupy
procesów) wywoła \fBsetsid\fP().
.P
Jeśli sesja ma terminal sterujący, a znacznik \fBCLOCAL\fP dla tego terminala
nie jest ustawiony i wystąpi rozłączenie terminala, to lider sesji otrzyma
sygnał \fBSIGHUP\fP.
.P
Jeśli proces, który jest liderem sesji zakończy się, to sygnał \fBSIGHUP\fP
jest wysyłany do każdego procesu w pierwoszoplanowej grupie procesów
terminala sterującego.
.SH "ZOBACZ TAKŻE"
\fBsetsid\fP(1), \fBgetsid\fP(2), \fBsetpgid\fP(2), \fBsetpgrp\fP(2), \fBtcgetsid\fP(3),
\fBcredentials\fP(7), \fBsched\fP(7)
.PP
.SH TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika:
Michał Kułach <michal.kulach@gmail.com>
.
.PP
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach
licencji można uzyskać zapoznając się z
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License w wersji 3
.UE
lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
.PP
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy
dyskusyjnej
.MT manpages-pl-list@lists.sourceforge.net
.ME .
