| EXIT(3) | Library Functions Manual | EXIT(3) |
exit, _Exit
— perform normal program termination
Standard C Library (libc, -lc)
#include
<stdlib.h>
void
exit(int
status);
void
_Exit(int
status);
The
exit()
and _Exit() functions terminate a process.
Before termination,
exit()
performs the following functions in the order listed:
The
_Exit()
function terminates without calling the functions registered with the
atexit(3) function, and may or may not
perform the other actions listed. 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.
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).
The exit() and
_Exit() functions never return.
_exit(2), wait(2), atexit(3), intro(3), sysexits(3), tmpfile(3)
The exit() and
_Exit() functions conform to
ISO/IEC 9899:1999
(“ISO C99”).
| September 9, 2002 | macOS 15.6 |