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 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 func
- tions 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 recur
- sion 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
STANDARDS
- The exit() and _Exit() functions conform to ISO/IEC
- 9899:1999
(``ISO C99''). - BSD September 9, 2002