|EXIT(3)||FreeBSD Library Functions Manual||EXIT(3)|
NAMEexit, _Exit — perform normal program termination
LIBRARYStandard C Library (libc, -lc)
SYNOPSIS#include < stdlib.h>
exit( int status);
_Exit( int status);
DESCRIPTIONThe exit() and _Exit() functions terminate a process.
Before termination, exit() performs the following functions in the order listed:
- Call the functions registered with the atexit(3) function, in the reverse order of their registration.
- Flush all open output streams.
- Close all open streams.
- Unlink all files created with the tmpfile(3) function.
The _Exit() function terminates without calling the functions 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 recursion 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 VALUESThe exit() and _Exit() functions never return.
SEE ALSO_exit(2), wait(2), atexit(3), at_quick_exit(3), intro(3), quick_exit(3), sysexits(3), tmpfile(3)
STANDARDSThe exit() and _Exit() functions conform to ISO/IEC 9899:1999 (“ISO C99”).
|September 9, 2002||FreeBSD|