EXIT(3)

EXIT(3) | Library Functions Manual | EXIT(3)

# NAME

exit — perform normal program termination

# LIBRARY

Standard C Library (libc, -lc)

# SYNOPSIS

#include <stdlib.h>
void
exit(int status);

# DESCRIPTION

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

# RESTRICTIONS

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.

# RETURN VALUES

The exit() function never returns.

# SEE ALSO

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

# STANDARDS

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

January 2, 2012 | NetBSD 8.0