_exit(2) System Calls Manual _exit(2) NUME _exit, _Exit - termina procesul apelant BIBLIOTECA Biblioteca C standard (libc, -lc) SINOPSIS #include [[noreturn]] void _exit(int status); #include [[noreturn]] void _Exit(int status); Cerine pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultai feature_test_macros(7)): _Exit(): _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L DESCRIERE _exit() incheie ,,imediat" procesul apelant. Orice descriptor de fiier deschis aparinand procesului este inchis. Eventualii copii ai procesului sunt motenii de init(1) (sau de cel mai apropiat proces de ,,subreaper" (subcolectare), aa cum este definit prin utilizarea operaiei prctl(2) PR_SET_CHILD_SUBREAPER). Parintelui procesului i se trimite un semnal SIGCHLD. Valoarea status & 0xFF este returnata procesului parinte ca stare de ieire a procesului i poate fi colectata de catre procesul parinte folosind unul dintre apelurile din familia wait(2). Funcia _Exit() este echivalenta cu _exit(). VALOAREA RETURNATA Aceste funcii nu returneaza 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 discuie privind efectele unei ieiri, transmiterea starii de ieire, procesele zombi, semnalele trimise i aa mai departe, a se vedea exit(3). Funcia _exit() este ca exit(3), dar nu apeleaza nicio funcie inregistrata cu atexit(3) sau on_exit(3). Fluxurile stdio(3) deschise nu sunt terse. Pe de alta parte, _exit() inchide descriptorii de fiiere deschise, iar acest lucru poate cauza o intarziere necunoscuta, ateptand ca ieirea in ateptare sa se termine. Daca intarzierea nu este dorita, poate fi utila apelarea unor funcii precum tcflush(3) inainte de a apela _exit(). Daca orice intrare/ieire in ateptare este anulata i care intrare/ieire in ateptare poate fi anulata la _exit(), depinde de implementare. Diferene intre biblioteca C i nucleu Textul de mai sus din DESCRIERE descrie efectul tradiional al _exit(), care este de a termina un proces, iar acestea sunt semanticile specificate de POSIX.1 i implementate de funcia de invaluire a bibliotecii C. In sistemele moderne, acest lucru inseamna terminarea tuturor firelor de execuie din proces. Spre deosebire de funcia de invaluire a bibliotecii C, apelul de sistem _exit() din Linux termina doar firul apelant, iar aciuni precum ,,infierea" proceselor copil sau trimiterea SIGCHLD catre procesul parinte sunt efectuate doar daca acesta este ultimul fir din grupul de fire. Pana la glibc 2.3, funcia de invaluire _exit() a invocat apelul de sistem al nucleului cu acelai nume. Incepand cu glibc 2.3, funcia de invaluire invoca exit_group(2), pentru a termina toate firele de execuie dintr-un proces. CONSULTAI 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 in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.9.1 2 mai 2024 _exit(2)