Mac Developer Library Developer


This manual page is part of Xcode Tools version 5.0

To obtain these tools:

If you are running a version of Xcode Tools other than 5.0, view the documentation locally:

  • In Xcode

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • To learn how the manual is organized or to learn about command syntax, read the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Developer Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.

EXIT(3)                  BSD Library Functions Manual                  EXIT(3)

     exit, _Exit -- perform normal program termination

     Standard C Library (libc, -lc)

     #include <stdlib.h>

     exit(int status);

     _Exit(int status);

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

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

           1.   Call the functions registered with the atexit(3) function, in the reverse order of their

           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,
     and may or may not perform the other actions listed.  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 infor-mation information
     mation 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), wait(2), atexit(3), intro(3), sysexits(3), tmpfile(3)

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

BSD                            September 9, 2002                           BSD

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation with the feedback links below.
Bug reports
Report bugs in the functionality of the described tool or API through Bug Reporter.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.