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

_exit(2)                                       System Calls Manual                                      _exit(2)

NUME

       _exit, _Exit - termină procesul apelant

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

SINOPSIS

       #include <unistd.h>

       [[noreturn]] void _exit(int status);

       #include <stdlib.h>

       [[noreturn]] void _Exit(int status);

   Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

       _Exit():
           _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L

DESCRIERE

       _exit() încheie „imediat” procesul apelant. Orice descriptor de fișier deschis aparținând procesului este
       închis.  Eventualii  copii  ai  procesului  sunt  moșteniți de init(1) (sau de cel mai apropiat proces de
       „subreaper”   (subcolectare),   așa   cum   este   definit    prin    utilizarea    operației    prctl(2)
       PR_SET_CHILD_SUBREAPER). Părintelui procesului i se trimite un semnal SIGCHLD.

       Valoarea  status  &  0xFF  este  returnată procesului părinte ca stare de ieșire a procesului și poate fi
       colectată de către procesul părinte folosind unul dintre apelurile din familia wait(2).

       Funcția _Exit() este echivalentă cu _exit().

VALOAREA RETURNATĂ

       Aceste funcții nu returnează nicio valoare.

STANDARDE

       _exit()
              POSIX.1-2008.

       _Exit()
              C11, POSIX.1-2008.

ISTORIC

       POSIX.1-2001, SVr4, 4.3BSD.

       _Exit() a fost introdus de C99.

NOTE

       Pentru o discuție privind efectele unei ieșiri, transmiterea stării de ieșire, procesele zombi, semnalele
       trimise și așa mai departe, a se vedea exit(3).

       Funcția _exit() este ca exit(3), dar nu apelează nicio funcție înregistrată cu atexit(3) sau  on_exit(3).
       Fluxurile  stdio(3)  deschise  nu  sunt șterse. Pe de altă parte, _exit() închide descriptorii de fișiere
       deschise, iar acest lucru poate cauza o întârziere necunoscută, așteptând ca ieșirea în așteptare  să  se
       termine.  Dacă întârzierea nu este dorită, poate fi utilă apelarea unor funcții precum tcflush(3) înainte
       de a apela _exit(). Dacă orice intrare/ieșire  în  așteptare  este  anulată  și  care  intrare/ieșire  în
       așteptare poate fi anulată la _exit(), depinde de implementare.

   Diferențe între biblioteca C și nucleu
       Textul de mai sus din DESCRIERE descrie efectul tradițional al _exit(), care este de a termina un proces,
       iar acestea sunt semanticile specificate de POSIX.1 și implementate de funcția de învăluire a bibliotecii
       C.  În sistemele moderne, acest lucru înseamnă terminarea tuturor firelor de execuție din proces.

       Spre  deosebire  de funcția de învăluire a bibliotecii C, apelul de sistem _exit() din Linux termină doar
       firul apelant, iar acțiuni precum „înfierea” proceselor  copil  sau  trimiterea  SIGCHLD  către  procesul
       părinte sunt efectuate doar dacă acesta este ultimul fir din grupul de fire.

       Până  la glibc 2.3, funcția de învăluire _exit() a invocat apelul de sistem al nucleului cu același nume.
       Începând cu glibc 2.3, funcția de învăluire invocă  exit_group(2),  pentru  a  termina  toate  firele  de
       execuție dintr-un proces.

CONSULTAȚI ȘI

       execve(2),   exit_group(2),   fork(2),   kill(2),  wait(2),  wait4(2),  waitpid(2),  atexit(3),  exit(3),
       on_exit(3), termios(3)

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                                           _exit(2)