OpenBSD manual page server

Manual Page Search Parameters

EXIT(3) Library Functions Manual EXIT(3)

exitperform normal program termination

#include <stdlib.h>

exit(int status);

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

The exit() function never returns.

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

The exit() function conforms to ISO/IEC 9899:1999 (“ISO C99”).

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

November 30, 2014 OpenBSD-7.3