OpenBSD manual page server

Manual Page Search Parameters

EXIT(3) Library Functions Manual EXIT(3)

exitperform normal program termination

library “libc”

#include <stdlib.h>

exit(int status);

exit() terminates a process. The status values EXIT_SUCCESS and EXIT_FAILURE can be used to indicate successful and unsuccessful termination, respectively.

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, exit() calls _exit(2).

Standard C guarantees only that the values zero, EXIT_SUCCESS, and EXIT_FAILURE produce meaningful results. POSIX extends this to guarantee that the least significant 8 bits of status are preserved and returned to the parent via wait(2). Values outside the supported range 0-255 are bitwise-truncated; therefore, negative values should not be used.

The exit() function never returns.

_exit(2), at_quick_exit(3), atexit(3), intro(3), quick_exit(3), tmpfile(3)

The exit() function conforms to ANSI X3.159-1989 (“ANSI C89”).

January 2, 2012 NetBSD-7.0.1