OpenBSD manual page server

Manual Page Search Parameters

EXIT(3) Library Functions Manual EXIT(3)

exit, _Exitperform normal program termination

#include <stdlib.h>

void
exit(int status);

void
_Exit(int status);

The () and _Exit() functions terminate a process.

Before termination, () performs the following operations 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.

The () 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, () 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.

The exit() and _Exit() functions never return.

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

The exit() and _Exit() functions conform to.

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

November 17, 2011 OpenBSD-5.1