Provided by: manpages-ro-dev_4.21.0-2_all 

NUME
setsid - creează o sesiune și stabilește ID-ul grupului de procese
BIBLIOTECA
Biblioteca C standard (libc, -lc)
REZUMAT
#include <unistd.h>
pid_t setsid(void);
DESCRIERE
setsid() creează o sesiune nouă dacă procesul apelant nu este un lider de grup de procese. Procesul
apelant este liderul noii sesiuni (adică ID-ul sesiunii sale este același cu ID-ul procesului său). De
asemenea, procesul apelant devine liderul grupului de procese al unui nou grup de procese în cadrul
sesiunii (de exemplu, ID-ul grupului de procese este același cu ID-ul său de proces).
Procesul de apelare va fi singurul proces din noul grup de procese și din noua sesiune.
Inițial, noua sesiune nu are un terminal de control. Pentru detalii privind modul în care o sesiune
dobândește un terminal de control, a se vedea credentials(7).
VALOAREA RETURNATĂ
În caz de succes, se returnează ID-ul de sesiune (nou) al procesului apelant. În caz de eroare, se
returnează (pid_t) -1, iar errno este configurată pentru a indica eroarea.
ERORI
EPERM ID-ul grupului de procese al oricărui proces este egal cu PID-ul procesului care îl apelează.
Astfel, în special, setsid() eșuează dacă procesul apelant este deja un lider de grup de procese.
STANDARDE
POSIX.1-2001, POSIX.1-2008, SVr4.
NOTE
Un proces-copil creat prin fork(2) moștenește ID-ul de sesiune al părintelui său. ID-ul de sesiune este
păstrat în cazul unui apel execve(2).
Un lider de grup de procese este un proces al cărui ID de grup de procese este egal cu PID-ul său.
Interzicerea apelării setsid() de către un lider de grup de procese previne posibilitatea ca un lider de
grup de procese să se plaseze într-o nouă sesiune, în timp ce alte procese din grupul de procese rămân în
sesiunea inițială; un astfel de scenariu ar încălca ierarhia strictă pe două niveluri a sesiunilor și
grupurilor de procese. Pentru a fi siguri că setsid() va reuși, apelați fork(2) și puneți părintele să
apeleze _exit(2), în timp ce copilul (care, prin definiție, nu poate fi un lider de grup de procese)
apelează setsid().
În cazul în care o sesiune are un terminal de control, iar fanionul CLOCAL pentru acel terminal nu este
definit și se produce o închidere a terminalului, atunci conducătorului sesiunii i se trimite un semnal
SIGHUP.
În cazul în care un proces care este lider de sesiune se termină, se trimite un semnal SIGHUP la fiecare
proces din grupul de procese din prim-plan al terminalului de control.
CONSULTAȚI ȘI
setsid(1), getsid(2), setpgid(2), setpgrp(2), tcgetsid(3), credentials(7), sched(7)
TRADUCERE
Traducerea în limba română a acestui manual a fost creată de Remus-Gabriel Chelu
<remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o
versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă Nicio
RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-
ro@lists.sourceforge.net.
Pagini de manual de Linux 6.03 30 octombrie 2022 setsid(2)