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

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  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  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⟩.