Provided by: manpages-ro-dev_4.27.0-1_all bug

NUME

       setsid - creează o sesiune și stabilește ID-ul grupului de procese

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

SINOPSIS

       #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-IEȘIRE

       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-2008.

ISTORIC

       POSIX.1-2001, 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   făcută   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.9.1                    2 mai 2024                                          setsid(2)