-
Notifications
You must be signed in to change notification settings - Fork 0
/
_Exit.html
165 lines (124 loc) · 4.74 KB
/
_Exit.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
<!-- Creator : groff version 1.22.4 -->
<!-- CreationDate: Wed Jan 29 11:26:50 2020 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css">
<style type="text/css">
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
h1 { text-align: center }
</style>
<title>_EXIT</title>
</head>
<body>
<h1 align="center">_EXIT</h1>
<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#RETURN VALUE">RETURN VALUE</a><br>
<a href="#CONFORMING TO">CONFORMING TO</a><br>
<a href="#NOTES">NOTES</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>
<a href="#COLOPHON">COLOPHON</a><br>
<hr>
<h2>NAME
<a name="NAME"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">_exit, _Exit -
terminate the calling process</p>
<h2>SYNOPSIS
<a name="SYNOPSIS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>#include
<unistd.h></b></p>
<p style="margin-left:11%; margin-top: 1em"><b>void
_exit(int</b> <i>status</i><b>);</b></p>
<p style="margin-left:11%; margin-top: 1em"><b>#include
<stdlib.h></b></p>
<p style="margin-left:11%; margin-top: 1em"><b>void
_Exit(int</b> <i>status</i><b>);</b></p>
<p style="margin-left:5%; margin-top: 1em">Feature Test
Macro Requirements for glibc (see
<b>feature_test_macros</b>(7)):</p>
<p style="margin-left:11%; margin-top: 1em"><b>_Exit</b>():</p>
<p style="margin-left:17%;">_ISOC99_SOURCE ||
_POSIX_C_SOURCE >= 200112L</p>
<h2>DESCRIPTION
<a name="DESCRIPTION"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">The function
<b>_exit</b>() terminates the calling process
"immediately". Any open file descriptors belonging
to the process are closed. Any children of the process are
inherited by <b>init</b>(1) (or by the nearest
"subreaper" process as defined through the use of
the <b>prctl</b>(2) <b>PR_SET_CHILD_SUBREAPER</b>
operation). The process’s parent is sent a
<b>SIGCHLD</b> signal.</p>
<p style="margin-left:11%; margin-top: 1em">The value
<i>status & 0377</i> is returned to the parent process
as the process’s exit status, and can be collected
using one of the <b>wait</b>(2) family of calls.</p>
<p style="margin-left:11%; margin-top: 1em">The function
<b>_Exit</b>() is equivalent to <b>_exit</b>().</p>
<h2>RETURN VALUE
<a name="RETURN VALUE"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">These functions
do not return.</p>
<h2>CONFORMING TO
<a name="CONFORMING TO"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">POSIX.1-2001,
POSIX.1-2008, SVr4, 4.3BSD. The function <b>_Exit</b>() was
introduced by C99.</p>
<h2>NOTES
<a name="NOTES"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">For a
discussion on the effects of an exit, the transmission of
exit status, zombie processes, signals sent, and so on, see
<b>exit</b>(3).</p>
<p style="margin-left:11%; margin-top: 1em">The function
<b>_exit</b>() is like <b>exit</b>(3), but does not call any
functions registered with <b>atexit</b>(3) or
<b>on_exit</b>(3). Open <b>stdio</b>(3) streams are not
flushed. On the other hand, <b>_exit</b>() 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
<b>tcflush</b>(3) before calling <b>_exit</b>(). Whether any
pending I/O is canceled, and which pending I/O may be
canceled upon <b>_exit</b>(), is
implementation-dependent.</p>
<p style="margin-left:11%; margin-top: 1em"><b>C
library/kernel differences</b> <br>
In glibc up to version 2.3, the <b>_exit</b>() wrapper
function invoked the kernel system call of the same name.
Since glibc 2.3, the wrapper function invokes
<b>exit_group</b>(2), in order to terminate all of the
threads in a process.</p>
<h2>SEE ALSO
<a name="SEE ALSO"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>execve</b>(2),
<b>exit_group</b>(2), <b>fork</b>(2), <b>kill</b>(2),
<b>wait</b>(2), <b>wait4</b>(2), <b>waitpid</b>(2),
<b>atexit</b>(3), <b>exit</b>(3), <b>on_exit</b>(3),
<b>termios</b>(3)</p>
<h2>COLOPHON
<a name="COLOPHON"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">This page is
part of release 5.02 of the Linux <i>man-pages</i> project.
A description of the project, information about reporting
bugs, and the latest version of this page, can be found at
https://www.kernel.org/doc/man-pages/.</p>
<hr>
</body>
</html>