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