abort(3) Library Functions Manual abort(3)

abort - cauzează terminarea anormală a procesului

Biblioteca C standard (libc, -lc)

#include <stdlib.h>
[[noreturn]] void abort(void);

Funcția abort() deblochează mai întâi semnalul SIGABRT și apoi lansează acest semnal pentru procesul apelant (ca și cum ar fi fost apelat raise(3)). Acest lucru are ca rezultat terminarea anormală a procesului, cu excepția cazului în care semnalul SIGABRT este prins și gestionarul de semnal nu se întoarce (a se vedea longjmp(3)).

În cazul în care semnalul SIGABRT este ignorat sau este prins de un gestionar care se întoarce, funcția abort() va încheia în continuare procesul. Aceasta face acest lucru prin restabilirea dispoziției implicite pentru SIGABRT și apoi prin lansarea semnalului pentru a doua oară.

Ca și în alte cazuri de terminare anormală, funcțiile înregistrate cu atexit(3) și on_exit(3) nu sunt apelate.

Funcția abort() nu returnează niciodată.

Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).

Interfață Atribut Valoare
abort() Siguranța firelor MT-Safe

C11, POSIX.1-2008.

SVr4, POSIX.1-2001, 4.3BSD, C89.

Până la glibc 2.26, în cazul în care funcția abort() provoca terminarea procesului, toate fluxurile deschise erau închise și eliminate (ca în cazul fclose(3)). Cu toate acestea, în unele cazuri, acest lucru putea duce la blocaje și la coruperea datelor. Prin urmare, începând cu glibc 2.27, abort() termină procesul fără a închide fluxurile. POSIX.1 permite ambele comportamente posibile, spunând că abort() „poate include o încercare de a efectua fclose() pe toate fluxurile deschise”.

gdb(1), sigaction(2), assert(3), exit(3), longjmp(3), raise(3)

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.

2 mai 2024 Pagini de manual de Linux 6.9.1