xref: /netbsd-src/lib/libc/stdlib/exit.3 (revision 7356612ea6e72b36ccbb310b1d6200a43fcca531)
1*7356612eSsevan.\" $NetBSD: exit.3,v 1.17 2019/09/01 19:37:21 sevan Exp $
26dda330eSthorpej.\"
35f8a6c06Sperry.\" Copyright (c) 1990, 1991, 1993
45f8a6c06Sperry.\"	The Regents of the University of California.  All rights reserved.
561f28255Scgd.\"
661f28255Scgd.\" This code is derived from software contributed to Berkeley by
761f28255Scgd.\" the American National Standards Committee X3, on Information
861f28255Scgd.\" Processing Systems.
961f28255Scgd.\"
1061f28255Scgd.\" Redistribution and use in source and binary forms, with or without
1161f28255Scgd.\" modification, are permitted provided that the following conditions
1261f28255Scgd.\" are met:
1361f28255Scgd.\" 1. Redistributions of source code must retain the above copyright
1461f28255Scgd.\"    notice, this list of conditions and the following disclaimer.
1561f28255Scgd.\" 2. Redistributions in binary form must reproduce the above copyright
1661f28255Scgd.\"    notice, this list of conditions and the following disclaimer in the
1761f28255Scgd.\"    documentation and/or other materials provided with the distribution.
18eb7c1594Sagc.\" 3. Neither the name of the University nor the names of its contributors
1961f28255Scgd.\"    may be used to endorse or promote products derived from this software
2061f28255Scgd.\"    without specific prior written permission.
2161f28255Scgd.\"
2261f28255Scgd.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
2361f28255Scgd.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2461f28255Scgd.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2561f28255Scgd.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
2661f28255Scgd.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2761f28255Scgd.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2861f28255Scgd.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2961f28255Scgd.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
3061f28255Scgd.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
3161f28255Scgd.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
3261f28255Scgd.\" SUCH DAMAGE.
3361f28255Scgd.\"
345f8a6c06Sperry.\"     from: @(#)exit.3	8.1 (Berkeley) 6/4/93
3561f28255Scgd.\"
36*7356612eSsevan.Dd September 1, 2019
3761f28255Scgd.Dt EXIT 3
3861f28255Scgd.Os
3961f28255Scgd.Sh NAME
4061f28255Scgd.Nm exit
4161f28255Scgd.Nd perform normal program termination
42312aca53Sperry.Sh LIBRARY
43312aca53Sperry.Lb libc
4461f28255Scgd.Sh SYNOPSIS
45472351e1Swiz.In stdlib.h
4661f28255Scgd.Ft void
4761f28255Scgd.Fn exit "int status"
4861f28255Scgd.Sh DESCRIPTION
49ce83c69eSlukem.Fn exit
506569c5c5Swizterminates a process.
516569c5c5SwizThe
52e8c9c330Scgd.Fa status
53e8c9c330Scgdvalues
54e8c9c330Scgd.Dv EXIT_SUCCESS
55e8c9c330Scgdand
56e8c9c330Scgd.Dv EXIT_FAILURE
57e8c9c330Scgdcan be used to indicate successful and unsuccessful
58e8c9c330Scgdtermination, respectively.
5961f28255Scgd.Pp
6061f28255ScgdBefore termination it performs the following functions in the
6161f28255Scgdorder listed:
6261f28255Scgd.Bl -enum -offset indent
6361f28255Scgd.It
6461f28255ScgdCall the functions registered with the
6561f28255Scgd.Xr atexit 3
6661f28255Scgdfunction, in the reverse order of their registration.
6761f28255Scgd.It
6861f28255ScgdFlush all open output streams.
6961f28255Scgd.It
7061f28255ScgdClose all open streams.
7161f28255Scgd.It
7261f28255ScgdUnlink all files created with the
7361f28255Scgd.Xr tmpfile 3
7461f28255Scgdfunction.
7561f28255Scgd.El
767a7ee80bSwiz.Pp
779d36ca1fSyamtFollowing this,
789d36ca1fSyamt.Fn exit
799d36ca1fSyamtcalls
809d36ca1fSyamt.Xr _exit 2 .
8127eed90cSdholland.Sh RESTRICTIONS
8227eed90cSdhollandStandard C guarantees only that the values zero,
8327eed90cSdholland.Dv EXIT_SUCCESS ,
8427eed90cSdhollandand
8527eed90cSdholland.Dv EXIT_FAILURE
8627eed90cSdhollandproduce meaningful results.
8727eed90cSdhollandPOSIX extends this to guarantee that the
8827eed90cSdhollandleast significant 8 bits of
899d36ca1fSyamt.Fa status
9027eed90cSdhollandare preserved and returned to the parent via
9127eed90cSdholland.Xr wait 2 .
9227eed90cSdhollandValues outside the supported range 0-255 are bitwise-truncated; therefore,
9327eed90cSdhollandnegative values should not be used.
9461f28255Scgd.Sh RETURN VALUES
9561f28255ScgdThe
9661f28255Scgd.Fn exit
9761f28255Scgdfunction
9861f28255Scgdnever returns.
9961f28255Scgd.Sh SEE ALSO
10061f28255Scgd.Xr _exit 2 ,
101f5c1f214Schristos.Xr at_quick_exit 3 ,
10261f28255Scgd.Xr atexit 3 ,
10361f28255Scgd.Xr intro 3 ,
104f5c1f214Schristos.Xr quick_exit 3 ,
10561f28255Scgd.Xr tmpfile 3
10661f28255Scgd.Sh STANDARDS
10761f28255ScgdThe
10861f28255Scgd.Fn exit
10961f28255Scgdfunction
11061f28255Scgdconforms to
11161f28255Scgd.St -ansiC .
112*7356612eSsevan.Sh HISTORY
113*7356612eSsevanThe
114*7356612eSsevan.Fn exit
115*7356612eSsevanfunction appeared in
116*7356612eSsevan.At v1 .
117