EXIT(3) BSD Programmer's Manual EXIT(3)
exit, _Exit - perform normal program termination
#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 operations in the order listed: 1. Call 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. 4. Unlink all files created with the tmpfile(3) function. The _Exit() function terminates without calling the functions registered with the atexit(3) function. The OpenBSD implementation of _Exit() does not flush open output streams or unlink files created with the tmpfile(3) function. However, this behavior is implementation-specific. Lastly, exit() and _Exit() call _exit(2). Note that typically _exit(2) only passes the lower 8 bits of status on to the parent, thus negative values have less meaning.
The exit() and _Exit() functions never return.
_exit(2), atexit(3), intro(3), sysexits(3), tmpfile(3)
The exit() and _Exit() functions conform to ISO/IEC 9899:1999 ("ISO C99"). MirBSD #10-current January 21, 2004 1