EXIT(3) AerieBSD 1.0 Refernce Manual EXIT(3)

NAME

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:
  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 _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

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

STANDARDS

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


AerieBSD 1.0 Reference Manual August 26 2008 EXIT(3)