xref: /freebsd/lib/libc/stdlib/exit.3 (revision 0a31efe016d28d5f3bee6c24591831149d760650)
158f0484fSRodney W. Grimes.\" Copyright (c) 1990, 1991, 1993
258f0484fSRodney W. Grimes.\"	The Regents of the University of California.  All rights reserved.
358f0484fSRodney W. Grimes.\"
458f0484fSRodney W. Grimes.\" This code is derived from software contributed to Berkeley by
558f0484fSRodney W. Grimes.\" the American National Standards Committee X3, on Information
658f0484fSRodney W. Grimes.\" Processing Systems.
758f0484fSRodney W. Grimes.\"
858f0484fSRodney W. Grimes.\" Redistribution and use in source and binary forms, with or without
958f0484fSRodney W. Grimes.\" modification, are permitted provided that the following conditions
1058f0484fSRodney W. Grimes.\" are met:
1158f0484fSRodney W. Grimes.\" 1. Redistributions of source code must retain the above copyright
1258f0484fSRodney W. Grimes.\"    notice, this list of conditions and the following disclaimer.
1358f0484fSRodney W. Grimes.\" 2. Redistributions in binary form must reproduce the above copyright
1458f0484fSRodney W. Grimes.\"    notice, this list of conditions and the following disclaimer in the
1558f0484fSRodney W. Grimes.\"    documentation and/or other materials provided with the distribution.
1658f0484fSRodney W. Grimes.\" 4. Neither the name of the University nor the names of its contributors
1758f0484fSRodney W. Grimes.\"    may be used to endorse or promote products derived from this software
1858f0484fSRodney W. Grimes.\"    without specific prior written permission.
1958f0484fSRodney W. Grimes.\"
2058f0484fSRodney W. Grimes.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
2158f0484fSRodney W. Grimes.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2258f0484fSRodney W. Grimes.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2358f0484fSRodney W. Grimes.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
2458f0484fSRodney W. Grimes.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2558f0484fSRodney W. Grimes.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2658f0484fSRodney W. Grimes.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2758f0484fSRodney W. Grimes.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2858f0484fSRodney W. Grimes.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2958f0484fSRodney W. Grimes.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
3058f0484fSRodney W. Grimes.\" SUCH DAMAGE.
3158f0484fSRodney W. Grimes.\"
3258f0484fSRodney W. Grimes.\"     @(#)exit.3	8.1 (Berkeley) 6/4/93
337f3dea24SPeter Wemm.\" $FreeBSD$
3458f0484fSRodney W. Grimes.\"
35eca67d51SGarrett Wollman.Dd September 9, 2002
3658f0484fSRodney W. Grimes.Dt EXIT 3
3758f0484fSRodney W. Grimes.Os
3858f0484fSRodney W. Grimes.Sh NAME
39eca67d51SGarrett Wollman.Nm exit , _Exit
4058f0484fSRodney W. Grimes.Nd perform normal program termination
4125bb73e0SAlexey Zelkin.Sh LIBRARY
4225bb73e0SAlexey Zelkin.Lb libc
4358f0484fSRodney W. Grimes.Sh SYNOPSIS
448aefde06SJeroen Ruigrok van der Werven.In stdlib.h
4558f0484fSRodney W. Grimes.Ft void
4658f0484fSRodney W. Grimes.Fn exit "int status"
47eca67d51SGarrett Wollman.Ft void
48eca67d51SGarrett Wollman.Fn _Exit "int status"
4958f0484fSRodney W. Grimes.Sh DESCRIPTION
50eca67d51SGarrett WollmanThe
51eca67d51SGarrett Wollman.Fn exit
52eca67d51SGarrett Wollmanand
53eca67d51SGarrett Wollman.Fn _Exit
54eca67d51SGarrett Wollmanfunctions terminate a process.
5558f0484fSRodney W. Grimes.Pp
56eca67d51SGarrett WollmanBefore termination,
57eca67d51SGarrett Wollman.Fn exit
58eca67d51SGarrett Wollmanperforms the following functions in the order listed:
5958f0484fSRodney W. Grimes.Bl -enum -offset indent
6058f0484fSRodney W. Grimes.It
6158f0484fSRodney W. GrimesCall the functions registered with the
6258f0484fSRodney W. Grimes.Xr atexit 3
6358f0484fSRodney W. Grimesfunction, in the reverse order of their registration.
6458f0484fSRodney W. Grimes.It
6558f0484fSRodney W. GrimesFlush all open output streams.
6658f0484fSRodney W. Grimes.It
6758f0484fSRodney W. GrimesClose all open streams.
6858f0484fSRodney W. Grimes.It
6958f0484fSRodney W. GrimesUnlink all files created with the
7058f0484fSRodney W. Grimes.Xr tmpfile 3
7158f0484fSRodney W. Grimesfunction.
7258f0484fSRodney W. Grimes.El
734567abc2SJoerg Wunsch.Pp
74eca67d51SGarrett WollmanThe
75eca67d51SGarrett Wollman.Fn _Exit
76eca67d51SGarrett Wollmanfunction terminates without calling the functions registered with the
77eca67d51SGarrett Wollman.Xr atexit 3
78eca67d51SGarrett Wollmanfunction, and may or may not perform the other actions listed.
79eca67d51SGarrett WollmanBoth functions make the low-order eight bits of the
80eca67d51SGarrett Wollman.Fa status
81eca67d51SGarrett Wollmanargument available to a parent process which has called a
82eca67d51SGarrett Wollman.Xr wait 2 Ns -family
83eca67d51SGarrett Wollmanfunction.
84eca67d51SGarrett Wollman.Pp
85eca67d51SGarrett WollmanThe C Standard
86eca67d51SGarrett Wollman.Pq St -isoC-99
87eca67d51SGarrett Wollmandefines the values
88eca67d51SGarrett Wollman.Li 0 ,
89eca67d51SGarrett Wollman.Dv EXIT_SUCCESS ,
90cc5aedfbSTim Vanderhoekand
91eca67d51SGarrett Wollman.Dv EXIT_FAILURE
92eca67d51SGarrett Wollmanas possible values of
93eca67d51SGarrett Wollman.Fa status .
94eca67d51SGarrett WollmanCooperating processes may use other values;
95eca67d51SGarrett Wollmanin a program which might be called by a mail transfer agent, the
96959d6c24SRuslan Ermilovvalues described in
97eca67d51SGarrett Wollman.Xr sysexits 3
98eca67d51SGarrett Wollmanmay be used to provide more information to the parent process.
992c5db8c6SGarrett Wollman.Pp
1002c5db8c6SGarrett WollmanNote that
1012c5db8c6SGarrett Wollman.Fn exit
1022c5db8c6SGarrett Wollmandoes nothing to prevent bottomless recursion should a function registered
1032c5db8c6SGarrett Wollmanusing
1042c5db8c6SGarrett Wollman.Xr atexit 3
1052c5db8c6SGarrett Wollmanitself call
1062c5db8c6SGarrett Wollman.Fn exit .
107eca67d51SGarrett WollmanSuch functions must call
108eca67d51SGarrett Wollman.Fn _Exit
1092c5db8c6SGarrett Wollmaninstead (although this has other effects as well which may not be desired).
11058f0484fSRodney W. Grimes.Sh RETURN VALUES
11158f0484fSRodney W. GrimesThe
11258f0484fSRodney W. Grimes.Fn exit
113eca67d51SGarrett Wollmanand
114eca67d51SGarrett Wollman.Fn _Exit
115eca67d51SGarrett Wollmanfunctions
116eca67d51SGarrett Wollmannever return.
11758f0484fSRodney W. Grimes.Sh SEE ALSO
118c8d40b7dSRuslan Ermilov.Xr _exit 2 ,
1191c85060aSRuslan Ermilov.Xr wait 2 ,
12058f0484fSRodney W. Grimes.Xr atexit 3 ,
121*0a31efe0SDavid Chisnall.Xr at_quick_exit 3 ,
12258f0484fSRodney W. Grimes.Xr intro 3 ,
123*0a31efe0SDavid Chisnall.Xr quick_exit 3 ,
12475141cc9SWolfram Schneider.Xr sysexits 3 ,
12575141cc9SWolfram Schneider.Xr tmpfile 3
12658f0484fSRodney W. Grimes.Sh STANDARDS
12758f0484fSRodney W. GrimesThe
12858f0484fSRodney W. Grimes.Fn exit
129eca67d51SGarrett Wollmanand
130eca67d51SGarrett Wollman.Fn _Exit
131eca67d51SGarrett Wollmanfunctions conform to
132eca67d51SGarrett Wollman.St -isoC-99 .
133