GNU.WIKI: The GNU/Linux Knowledge Base

  [HOME] [PHP Manual] [HowTo] [ABS] [MAN1] [MAN2] [MAN3] [MAN4] [MAN5] [MAN6] [MAN7] [MAN8] [MAN9]

  [0-9] [Aa] [Bb] [Cc] [Dd] [Ee] [Ff] [Gg] [Hh] [Ii] [Jj] [Kk] [Ll] [Mm] [Nn] [Oo] [Pp] [Qq] [Rr] [Ss] [Tt] [Uu] [Vv] [Ww] [Xx] [Yy] [Zz]


       _exit, _Exit - terminate the calling process


       #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)):

           _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE ||
           _POSIX_C_SOURCE >= 200112L;
           or cc -std=c99


       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
       parent 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

       The function _Exit() is equivalent to _exit().


       These functions do not return.


       SVr4,  POSIX.1-2001,  4.3BSD.   The  function _Exit() was introduced by


       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.


       execve(2),  exit_group(2),   fork(2),   kill(2),   wait(2),   wait4(2),
       waitpid(2), atexit(3), exit(3), on_exit(3), termios(3)


       This  page  is  part of release 3.65 of the Linux man-pages project.  A
       description of the project, and information about reporting  bugs,  can
       be found at

  All copyrights belong to their respective owners. Other content (c) 2014-2018, GNU.WIKI. Please report site errors to
Page load time: 0.108 seconds. Last modified: November 04 2018 12:49:43.