EXIT(3)

NAME
exit - perform normal program termination

LIBRARY
libc

SYNOPSIS
#include <stdlib.h>
void
exit(int status);

DESCRIPTION
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).

RESTRICTIONS
Standard C guarantees only that the values zero, EXIT_SUCCESS, and EXIT_FAILURE produce meaningful results. POSIX extends this to guarantee that the least significant 8 bits of status are preserved and returned to the parent via wait(2). Values outside the supported range 0-255 are bitwise-truncated; therefore, negative values should not be used.

RETURN VALUES
The exit() function never returns.

SEE ALSO
_exit(2), at_quick_exit(3), atexit(3), intro(3), quick_exit(3), tmpfile(3)

STANDARDS
The exit() function conforms to ansiC.

HISTORY
The exit() function appeared in AT&T UNIX.