Scroll to navigation

on_exit(3) Library Functions Manual on_exit(3)

NUME

on_exit - înregistrează o funcție care să fie apelată la terminarea normală a procesului

BIBLIOTECA

Biblioteca C standard (libc, -lc)

REZUMAT

#include <stdlib.h>
int on_exit(void (*function)(int, void *), void *arg);

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

on_exit():


Începând cu glibc 2.19:
_DEFAULT_SOURCE
glibc 2.19 și versiunile anterioare:
_BSD_SOURCE || _SVID_SOURCE

DESCRIERE

Funcția on_exit() înregistrează function dată pentru a fi apelată la terminarea normală a procesului, fie prin exit(3), fie prin întoarcerea de la main() a programului. function primește argumentul de stare dat la ultimul apel la exit(3) și argumentul arg de la on_exit().

Aceeași funcție poate fi înregistrată de mai multe ori: aceasta este apelată o singură dată pentru fiecare înregistrare.

Atunci când un proces-copil este creat prin fork(2), acesta moștenește procesele-copil ale înregistrărilor părintelui său. La un apel reușit la una dintre funcțiile exec(3), toate înregistrările sunt eliminate.

VALOAREA RETURNATĂ

Funcția on_exit() returnează valoarea 0 în caz de succes; în caz contrar, returnează o valoare diferită de zero.

ATRIBUTE

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

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

STANDARDE

Această funcție provine din SunOS 4, dar este prezentă și în glibc. Ea nu mai apare în Solaris (SunOS 5). Aplicațiile portabile ar trebui să evite această funcție și să utilizeze în schimb funcția standard atexit(3).

NOTE

În momentul în care function este executată, este posibil ca variabilele din stivă (auto) să fi ieșit deja din domeniul de aplicare. Prin urmare, arg nu ar trebui să fie un indicator la o variabilă din stivă; acesta poate fi totuși un indicator la o variabilă din grămadă sau la o variabilă globală.

CONSULTAȚI ȘI

_exit(2), atexit(3), exit(3)

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

5 februarie 2023 Pagini de manual de Linux 6.03