Provided by: manpages-posix-dev_2017a-2_all bug

PROLOG

       This  manual  page  is part of the POSIX Programmer's Manual.  The Linux implementation of
       this interface may differ (consult the corresponding Linux  manual  page  for  details  of
       Linux behavior), or the interface may not be implemented on Linux.

NAME

       exit — terminate a process

SYNOPSIS

       #include <stdlib.h>

       void exit(int status);

DESCRIPTION

       The functionality described on this reference page is aligned with the ISO C standard. Any
       conflict between the requirements described here and the ISO C standard is  unintentional.
       This volume of POSIX.1‐2017 defers to the ISO C standard.

       The  value of status may be 0, EXIT_SUCCESS, EXIT_FAILURE, or any other value, though only
       the least significant 8 bits (that is, status & 0377) shall be available from  wait()  and
       waitpid();  the full value shall be available from waitid() and in the siginfo_t passed to
       a signal handler for SIGCHLD.

       The exit() function shall first call all functions registered by atexit(), in the  reverse
       order  of  their  registration,  except  that  a  function  is called after any previously
       registered functions that had already been called at the  time  it  was  registered.  Each
       function  is  called  as  many times as it was registered. If, during the call to any such
       function, a call to the longjmp() function is made that would terminate the  call  to  the
       registered function, the behavior is undefined.

       If  a  function registered by a call to atexit() fails to return, the remaining registered
       functions shall not be called  and  the  rest  of  the  exit()  processing  shall  not  be
       completed. If exit() is called more than once, the behavior is undefined.

       The  exit()  function  shall  then flush all open streams with unwritten buffered data and
       close  all  open  streams.  Finally,  the  process  shall  be  terminated  with  the  same
       consequences as described in Consequences of Process Termination.

RETURN VALUE

       The exit() function does not return.

ERRORS

       No errors are defined.

       The following sections are informative.

EXAMPLES

       None.

APPLICATION USAGE

       None.

RATIONALE

       See _Exit().

FUTURE DIRECTIONS

       None.

SEE ALSO

       _Exit(), atexit(), exec, longjmp(), tmpfile(), wait(), waitid()

       The Base Definitions volume of POSIX.1‐2017, <stdlib.h>

COPYRIGHT

       Portions  of  this  text  are  reprinted  and  reproduced in electronic form from IEEE Std
       1003.1-2017, Standard for Information Technology -- Portable  Operating  System  Interface
       (POSIX),  The  Open Group Base Specifications Issue 7, 2018 Edition, Copyright (C) 2018 by
       the Institute of Electrical and Electronics Engineers, Inc and The  Open  Group.   In  the
       event  of  any  discrepancy  between this version and the original IEEE and The Open Group
       Standard, the original IEEE and The Open Group  Standard  is  the  referee  document.  The
       original Standard can be obtained online at http://www.opengroup.org/unix/online.html .

       Any  typographical  or  formatting errors that appear in this page are most likely to have
       been introduced during the conversion of the source files to man page  format.  To  report
       such errors, see https://www.kernel.org/doc/man-pages/reporting_bugs.html .