exit() terminates a process. The
status values
EXIT_SUCCESS and
EXIT_FAILURE can be used to indicate successful and unsuccessful termination, respectively.
Before termination it performs the following functions 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.
Following this,
exit() calls
_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.