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():
20           _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE ||
21           _POSIX_C_SOURCE >= 200112L;
22           or cc -std=c99
23

DESCRIPTION

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

RETURN VALUE

37       These functions do not return.
38

CONFORMING TO

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

NOTES

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

SEE ALSO

63       execve(2), exit_group(2), fork(2), kill(2),  wait(2),  wait4(2),  wait‐
64       pid(2), atexit(3), exit(3), on_exit(3), termios(3)
65

COLOPHON

67       This  page  is  part of release 3.53 of the Linux man-pages project.  A
68       description of the project, and information about reporting  bugs,  can
69       be found at http://www.kernel.org/doc/man-pages/.
70
71
72
73Linux                             2010-09-20                          _EXIT(2)
Impressum