*** UNIX MANUAL PAGE BROWSER ***

A Nergahak database for man pages research.

Navigation

Directory Browser

1Browse 4.4BSD4.4BSD
1Browse Digital UNIXDigital UNIX 4.0e
1Browse FreeBSDFreeBSD 14.3
1Browse MINIXMINIX 3.4.0rc6-d5e4fc0
1Browse NetBSDNetBSD 10.1
1Browse OpenBSDOpenBSD 7.7
1Browse UNIX v7Version 7 UNIX
1Browse UNIX v10Version 10 UNIX

Manual Page Search

Manual Page Result

0 Command: _Exit | Section: 3 | Source: FreeBSD | File: _Exit.3.gz
EXIT(3) FreeBSD Library Functions Manual EXIT(3) NAME exit, _Exit - perform normal program termination LIBRARY Standard C Library (libc, -lc) SYNOPSIS #include <stdlib.h> void exit(int status); void _Exit(int status); DESCRIPTION The exit() and _Exit() functions terminate a process. Before termination, exit() performs the following functions in the order listed: 1. Call all functions registered with the __cxa_atexit(3) function (which are typically destructors from the loaded dynamic objects), and the functions registered with the atexit(3) function, in the reverse order of their registration. 2. Flush all open output streams. 3. Close all open streams. The _Exit() function terminates without calling the functions registered with the atexit(3) function, and may or may not perform the other actions listed. The FreeBSD implementation of the _Exit() function does not call destructors registered with __cxa_atexit(3,) does not flush buffers, and does not close streams. Both functions make the low-order eight bits of the status argument available to a parent process which has called a wait(2)-family function. The C Standard (ISO/IEC 9899:1999 ("ISO C99")) defines the values 0, EXIT_SUCCESS, and EXIT_FAILURE as possible values of status. Cooperating processes may use other values; in a program which might be called by a mail transfer agent, the values described in sysexits(3) may be used to provide more information to the parent process. The complete status value is avaliable as si_status member of the siginfo_t structure, to the wait6(2) and sigwaitinfo(2) callers, and SIGCHLD signal handlers. Calls to the exit() function are serialized. All functions registered by atexit(3) are executed in the first thread that called exit. If any other thread of the process calls exit before all registered functions have completed or before the process terminates, the thread is blocked until the process terminates. The exit status of the process is the status argument of the first exit call which thread proceeds the atexit handlers. Note that exit() does nothing to prevent bottomless recursion should a function registered using atexit(3) itself call exit(). Such functions must call _Exit() instead (although this has other effects as well which may not be desired). RETURN VALUES The exit() and _Exit() functions never return. SEE ALSO _exit(2), abort2(2), wait(2), at_quick_exit(3), atexit(3), intro(3), quick_exit(3), sysexits(3), tmpfile(3) STANDARDS The exit() and _Exit() functions conform to ISO/IEC 9899:1999 ("ISO C99"). HISTORY The exit() function appeared in Version 1 AT&T UNIX. FreeBSD 14.1-RELEASE-p8 July 24, 2024 FreeBSD 14.1-RELEASE-p8

Navigation Options