GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
EXIT(3) FreeBSD Library Functions Manual EXIT(3)

exit, _Exit
perform normal program termination

Standard C Library (libc, -lc)

#include <stdlib.h>

void
exit(int status);

void
_Exit(int status);

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

Before termination, exit() performs the following functions in the order listed:

  1. Call all functions registered with the __cxa_atexit(3) function (which are typically destructors from the loaded dynamic objects), and 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.

The _Exit() function terminates without calling the functions registered with the atexit(3) function, and may or may not perform the other actions listed. The FreeBSD implementation of the _Exit() function does not call destructors registered with __cxa_atexit(3,) does not flush buffers, and does not close streams.

Both functions make the low-order eight bits of the status argument available to a parent process which has called a wait(2)-family function.

The C Standard (ISO/IEC 9899:1999 (“ISO C99”)) defines the values 0, EXIT_SUCCESS, and EXIT_FAILURE as possible values of status. Cooperating processes may use other values; in a program which might be called by a mail transfer agent, the values described in sysexits(3) may be used to provide more information to the parent process.

Note that exit() does nothing to prevent bottomless recursion should a function registered using atexit(3) itself call exit(). Such functions must call _Exit() instead (although this has other effects as well which may not be desired).

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

_exit(2), abort2(2), wait(2), at_quick_exit(3), atexit(3), intro(3), quick_exit(3), sysexits(3), tmpfile(3)

The exit() and _Exit() functions conform to ISO/IEC 9899:1999 (“ISO C99”).

The exit() function appeared in Version 1 AT&T UNIX.
August 5, 2021 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.