.\" -*- coding: UTF-8 -*- .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH setsid 2 "17 maja 2025 r." "Linux man\-pages 6.15" .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 \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 . .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 .