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