NAME
exit, _Exit
—
perform normal program
termination
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 operations 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. The OpenBSD
implementation of _Exit
() does not flush open output
streams or unlink files created with the
tmpfile(3) function. However, this behavior is
implementation-specific.
Lastly,
exit
() and
_Exit
() call
_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
() and
_Exit
() functions never return.
SEE ALSO
STANDARDS
The exit
() and
_Exit
() functions conform to.
HISTORY
An exit
() function first appeared as a
system call in Version 1 AT&T UNIX. In
Version 7 AT&T UNIX, the bare system call
was renamed to _exit(2).