1_EXIT(2)                   Linux Programmer's Manual                  _EXIT(2)
2
3
4

NAME

6       _exit, _Exit - terminate the calling process
7

SYNOPSIS

9       #include <unistd.h>
10
11       void _exit(int status);
12
13       #include <stdlib.h>
14
15       void _Exit(int status);
16
17   Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
18
19       _Exit(): _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE; or cc -std=c99
20

DESCRIPTION

22       The function _exit() terminates the calling process "immediately".  Any
23       open file descriptors belonging to the process are closed; any children
24       of the process are inherited by process 1, init, and the process's par‐
25       ent is sent a SIGCHLD signal.
26
27       The value status is returned to the parent  process  as  the  process's
28       exit  status,  and  can be collected using one of the wait(2) family of
29       calls.
30
31       The function _Exit() is equivalent to _exit().
32

RETURN VALUE

34       These functions do not return.
35

CONFORMING TO

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

NOTES

41       For  a  discussion  on the effects of an exit, the transmission of exit
42       status, zombie processes, signals sent, etc., see exit(3).
43
44       The function _exit() is like exit(3), but does not call  any  functions
45       registered  with  atexit(3) or on_exit(3).  Whether it flushes standard
46       I/O buffers and removes temporary  files  created  with  tmpfile(3)  is
47       implementation-dependent.   On  the other hand, _exit() does close open
48       file descriptors, and this may cause  an  unknown  delay,  waiting  for
49       pending  output to finish.  If the delay is undesired, it may be useful
50       to call functions like tcflush(3) before calling _exit().  Whether  any
51       pending  I/O  is  canceled,  and which pending I/O may be canceled upon
52       _exit(), is implementation-dependent.
53
54       In glibc up to version 2.3, the _exit() wrapper  function  invoked  the
55       kernel  system  call  of  the  same name.  Since glibc 2.3, the wrapper
56       function invokes exit_group(2),  in  order  to  terminate  all  of  the
57       threads in a process.
58

SEE ALSO

60       execve(2),  exit_group(2),  fork(2),  kill(2), wait(2), wait4(2), wait‐
61       pid(2), atexit(3), exit(3), on_exit(3), termios(3)
62

COLOPHON

64       This page is part of release 3.25 of the Linux  man-pages  project.   A
65       description  of  the project, and information about reporting bugs, can
66       be found at http://www.kernel.org/doc/man-pages/.
67
68
69
70Linux                             2008-11-27                          _EXIT(2)
Impressum