diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-24 04:52:22 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-24 04:52:22 +0000 |
commit | 3d08cd331c1adcf0d917392f7e527b3f00511748 (patch) | |
tree | 312f0d1e1632f48862f044b8bb87e602dcffb5f9 /man3/exit.3 | |
parent | Adding debian version 6.7-2. (diff) | |
download | manpages-3d08cd331c1adcf0d917392f7e527b3f00511748.tar.xz manpages-3d08cd331c1adcf0d917392f7e527b3f00511748.zip |
Merging upstream version 6.8.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'man3/exit.3')
-rw-r--r-- | man3/exit.3 | 202 |
1 files changed, 0 insertions, 202 deletions
diff --git a/man3/exit.3 b/man3/exit.3 deleted file mode 100644 index 0b8bab2..0000000 --- a/man3/exit.3 +++ /dev/null @@ -1,202 +0,0 @@ -'\" t -.\" Copyright (C) 2001 Andries Brouwer <aeb@cwi.nl>. -.\" -.\" SPDX-License-Identifier: Linux-man-pages-copyleft -.\" -.\" FIXME . There are a lot of other process termination actions that -.\" could be listed on this page. See, for example, the list in the -.\" POSIX exit(3p) page. -.\" -.TH exit 3 2023-10-31 "Linux man-pages 6.7" -.SH NAME -exit \- cause normal process termination -.SH LIBRARY -Standard C library -.RI ( libc ", " \-lc ) -.SH SYNOPSIS -.nf -.B #include <stdlib.h> -.P -.BI "[[noreturn]] void exit(int " status ); -.fi -.SH DESCRIPTION -The -.BR exit () -function causes normal process termination and the least significant byte of -.I status -(i.e., \fIstatus & 0xFF\fP) is returned to the parent (see -.BR wait (2)). -.P -All functions registered with -.BR atexit (3) -and -.BR on_exit (3) -are called, in the reverse order of their registration. -(It is possible for one of these functions to use -.BR atexit (3) -or -.BR on_exit (3) -to register an additional -function to be executed during exit processing; -the new registration is added to the front of the list of functions -that remain to be called.) -If one of these functions does not return -(e.g., it calls -.BR _exit (2), -or kills itself with a signal), -then none of the remaining functions is called, -and further exit processing (in particular, flushing of -.BR stdio (3) -streams) is abandoned. -If a function has been registered multiple times using -.BR atexit (3) -or -.BR on_exit (3), -then it is called as many times as it was registered. -.P -All open -.BR stdio (3) -streams are flushed and closed. -Files created by -.BR tmpfile (3) -are removed. -.P -The C standard specifies two constants, -\fBEXIT_SUCCESS\fP and \fBEXIT_FAILURE\fP, -that may be passed to -.BR exit () -to indicate successful or unsuccessful -termination, respectively. -.SH RETURN VALUE -The -.BR exit () -function does not return. -.SH ATTRIBUTES -For an explanation of the terms used in this section, see -.BR attributes (7). -.TS -allbox; -lbx lb lb -l l l. -Interface Attribute Value -T{ -.na -.nh -.BR exit () -T} Thread safety MT-Unsafe race:exit -.TE -.P -The -.BR exit () -function uses a global variable that is not protected, -so it is not thread-safe. -.SH STANDARDS -C11, POSIX.1-2008. -.SH HISTORY -C89, POSIX.1-2001, SVr4, 4.3BSD. -.SH NOTES -The behavior is undefined if one of the functions registered using -.BR atexit (3) -and -.BR on_exit (3) -calls either -.BR exit () -or -.BR longjmp (3). -Note that a call to -.BR execve (2) -removes registrations created using -.BR atexit (3) -and -.BR on_exit (3). -.P -The use of -.B EXIT_SUCCESS -and -.B EXIT_FAILURE -is slightly more portable -(to non-UNIX environments) than the use of 0 and some nonzero value -like 1 or \-1. -In particular, VMS uses a different convention. -.P -BSD has attempted to standardize exit codes -(which some C libraries such as the GNU C library have also adopted); -see the file -.IR <sysexits.h> . -.P -After -.BR exit (), -the exit status must be transmitted to the -parent process. -There are three cases: -.IP \[bu] 3 -If the parent has set -.BR SA_NOCLDWAIT , -or has set the -.B SIGCHLD -handler to -.BR SIG_IGN , -the status is discarded and the child dies immediately. -.IP \[bu] -If the parent was waiting on the child, -it is notified of the exit status and the child dies immediately. -.IP \[bu] -Otherwise, -the child becomes a "zombie" process: -most of the process resources are recycled, -but a slot containing minimal information about the child process -(termination status, resource usage statistics) is retained in process table. -This allows the parent to subsequently use -.BR waitpid (2) -(or similar) to learn the termination status of the child; -at that point the zombie process slot is released. -.P -If the implementation supports the -.B SIGCHLD -signal, this signal -is sent to the parent. -If the parent has set -.BR SA_NOCLDWAIT , -it is undefined whether a -.B SIGCHLD -signal is sent. -.\" -.SS Signals sent to other processes -If the exiting process is a session leader and its controlling terminal -is the controlling terminal of the session, then each process in -the foreground process group of this controlling terminal -is sent a -.B SIGHUP -signal, and the terminal is disassociated -from this session, allowing it to be acquired by a new controlling -process. -.P -If the exit of the process causes a process group to become orphaned, -and if any member of the newly orphaned process group is stopped, -then a -.B SIGHUP -signal followed by a -.B SIGCONT -signal will be -sent to each process in this process group. -See -.BR setpgid (2) -for an explanation of orphaned process groups. -.P -Except in the above cases, -where the signalled processes may be children of the terminating process, -termination of a process does -.I not -in general cause a signal to be sent to children of that process. -However, a process can use the -.BR prctl (2) -.B PR_SET_PDEATHSIG -operation to arrange that it receives a signal if its parent terminates. -.SH SEE ALSO -.BR _exit (2), -.BR get_robust_list (2), -.BR setpgid (2), -.BR wait (2), -.BR atexit (3), -.BR on_exit (3), -.BR tmpfile (3) |