atexit(3) Library Functions Manual atexit(3) atexit - , LIBRARY Standard C library (libc, -lc) #include int atexit(void (*function)(void)); atexit() function , , , exit(3), main. , ; . : . POSIX.1 , ATEXIT_MAX (32) . , , sysconf(3). fork(2), . exec(3) . atexit() 0, -- . attributes(7). +----------------------------+----------------------------------------------------------+--------------------------+ | | | | +----------------------------+----------------------------------------------------------+--------------------------+ |atexit() | | MT-Safe | +----------------------------+----------------------------------------------------------+--------------------------+ POSIX.1 , exit(3) (. ., exit(3) , atexit()) . ( Linux), ; exit(3) , atexit(). C11, POSIX.1-2008. POSIX.1-2001, C89, C99, SVr4, 4.3BSD. , atexit() ( on_exit(3)) , , - . _exit(2), , , exit(3), . atexit() on_exit(3) : . POSIX.1 , , atexit(), longjmp(3). , Linux glibc 2.2.3, atexit() ( on_exit(3)) , . #include #include #include void bye(void) { printf("That was all, folks\n"); } int main(void) { long a; int i; a = sysconf(_SC_ATEXIT_MAX); printf("ATEXIT_MAX = %ld\n", a); i = atexit(bye); if (i != 0) { fprintf(stderr, "cannot set exit function\n"); exit(EXIT_FAILURE); } exit(EXIT_SUCCESS); } . _exit(2), dlopen(3), exit(3), on_exit(3) Dmitry Bolkhovskikh Yuri Kozlov ; GNU 3 , . . , , . Linux man-pages 6.06 31 2023 . atexit(3)