_exit(category4-postfix.html) - phpMan

_EXIT(2)                   Linux Programmer's Manual                  _EXIT(2)

NAME
       _exit, _Exit - terminate the calling process
SYNOPSIS
       #include <unistd.h>
       void _exit(int status);
       #include <stdlib.h>
       void _Exit(int status);
   Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
       _Exit():
           _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE ||
           _POSIX_C_SOURCE >= 200112L;
           or cc -std=c99
DESCRIPTION
       The function _exit() terminates the calling process "immediately".  Any
       open file descriptors belonging to the process are closed; any children
       of the process are inherited by process 1, init, and the process's par-
       ent is sent a SIGCHLD signal.
       The  value  status  is  returned to the parent process as the process's
       exit status, and can be collected using one of the  wait(2)  family  of
       calls.
       The function _Exit() is equivalent to _exit().
RETURN VALUE
       These functions do not return.
CONFORMING TO
       SVr4,  POSIX.1-2001,  4.3BSD.   The  function _Exit() was introduced by
       C99.
NOTES
       For a discussion on the effects of an exit, the  transmission  of  exit
       status, zombie processes, signals sent, and so on, see exit(3).
       The  function  _exit() is like exit(3), but does not call any functions
       registered with atexit(3) or on_exit(3).  Whether it  flushes  standard
       I/O  buffers  and  removes  temporary  files created with tmpfile(3) is
       implementation-dependent.  On the other hand, _exit() does  close  open
       file  descriptors,  and  this  may  cause an unknown delay, waiting for
       pending output to finish.  If the delay is undesired, it may be  useful
       to  call functions like tcflush(3) before calling _exit().  Whether any
       pending I/O is canceled, and which pending I/O  may  be  canceled  upon
       _exit(), is implementation-dependent.
       In  glibc  up  to version 2.3, the _exit() wrapper function invoked the
       kernel system call of the same name.   Since  glibc  2.3,  the  wrapper
       function  invokes  exit_group(2),  in  order  to  terminate  all of the
       threads in a process.
SEE ALSO
       execve(2), exit_group(2), fork(2), kill(2),  wait(2),  wait4(2),  wait-
       pid(2), atexit(3), exit(3), on_exit(3), termios(3)
COLOPHON
       This  page  is  part of release 3.53 of the Linux man-pages project.  A
       description of the project, and information about reporting  bugs,  can
       be found at http://www.kernel.org/doc/man-pages/.

Linux                             2010-09-20                          _EXIT(2)