EXIT(3)

NAME
exit - perform normal program termination

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

DESCRIPTION
The exit() function terminates a process.

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). Note that typically _exit(2) only passes the lower 8 bits of status on to the parent, thus negative values have less meaning.

RETURN VALUES
The exit() function never returns.

SEE ALSO
_exit(2), atexit(3), intro(3), sysexits(3), tmpfile(3)

STANDARDS
The exit() function conforms to isoC-99.

HISTORY
An exit() function first appeared as a system call in AT&T UNIX. It has accepted the status argument since AT&T UNIX. In AT&T UNIX, the bare system call was renamed to _exit(2).