on_exit(3) Library Functions Manual on_exit(3)

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

Biblioteca C standard (libc, -lc)

#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

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.

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

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

Niciunul.

SunOS 4, glibc. Eliminată în Solaris (SunOS 5). Utilizați în schimb atexit(3) standard.

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

_exit(2), atexit(3), exit(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.

31 octombrie 2023 Pagini de manual de Linux 6.06