Next: Exit Status, Up: Program Termination [Contents][Index]
A process terminates normally when its program signals it is done by
calling exit
. Returning from main
is equivalent to
calling exit
, and the value that main
returns is used as
the argument to exit
.
Preliminary: | MT-Unsafe race:exit | AS-Unsafe corrupt | AC-Unsafe corrupt lock | See POSIX Safety Concepts.
The exit
function tells the system that the program is done, which
causes it to terminate the process.
status is the program’s exit status, which becomes part of the process’ termination status. This function does not return.
Normal termination causes the following actions:
atexit
or on_exit
functions are called in the reverse order of their registration. This
mechanism allows your application to specify its own “cleanup” actions
to be performed at program termination. Typically, this is used to do
things like saving program state information in a file, or unlocking
locks in shared data bases.
tmpfile
function are removed; see Temporary Files.
_exit
is called, terminating the program. See Termination Internals.