diff options
Diffstat (limited to '')
-rw-r--r-- | templates/man2/wait.2.pot | 1310 |
1 files changed, 1310 insertions, 0 deletions
diff --git a/templates/man2/wait.2.pot b/templates/man2/wait.2.pot new file mode 100644 index 00000000..0c9a202a --- /dev/null +++ b/templates/man2/wait.2.pot @@ -0,0 +1,1310 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2024-03-01 17:13+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: TH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "wait" +msgstr "" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "2023-10-31" +msgstr "" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "Linux man-pages 6.06" +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "NAME" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "wait, waitpid, waitid - wait for process to change state" +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "LIBRARY" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Standard C library (I<libc>, I<-lc>)" +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "SYNOPSIS" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<#include E<lt>sys/wait.hE<gt>>\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"B<pid_t wait(int *_Nullable >I<wstatus>B<);>\n" +"B<pid_t waitpid(pid_t >I<pid>B<, int *_Nullable >I<wstatus>B<, int >I<options>B<);>\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"B<int waitid(idtype_t >I<idtype>B<, id_t >I<id>B<, siginfo_t *>I<infop>B<, int >I<options>B<);>\n" +" /* This is the glibc and POSIX interface; see\n" +" NOTES for information on the raw system call. */\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "B<waitid>():" +msgstr "" + +#. (_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED) +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +" Since glibc 2.26:\n" +" _XOPEN_SOURCE E<gt>= 500 || _POSIX_C_SOURCE E<gt>= 200809L\n" +" glibc 2.25 and earlier:\n" +" _XOPEN_SOURCE\n" +" || /* Since glibc 2.12: */ _POSIX_C_SOURCE E<gt>= 200809L\n" +" || /* glibc E<lt>= 2.19: */ _BSD_SOURCE\n" +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "DESCRIPTION" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"All of these system calls are used to wait for state changes in a child of " +"the calling process, and obtain information about the child whose state has " +"changed. A state change is considered to be: the child terminated; the " +"child was stopped by a signal; or the child was resumed by a signal. In the " +"case of a terminated child, performing a wait allows the system to release " +"the resources associated with the child; if a wait is not performed, then " +"the terminated child remains in a \"zombie\" state (see NOTES below)." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If a child has already changed state, then these calls return immediately. " +"Otherwise, they block until either a child changes state or a signal handler " +"interrupts the call (assuming that system calls are not automatically " +"restarted using the B<SA_RESTART> flag of B<sigaction>(2)). In the " +"remainder of this page, a child whose state has changed and which has not " +"yet been waited upon by one of these system calls is termed I<waitable>." +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "wait() and waitpid()" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<wait>() system call suspends execution of the calling thread until " +"one of its children terminates. The call I<wait(&wstatus)> is equivalent to:" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "waitpid(-1, &wstatus, 0);\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<waitpid>() system call suspends execution of the calling thread until " +"a child specified by I<pid> argument has changed state. By default, " +"B<waitpid>() waits only for terminated children, but this behavior is " +"modifiable via the I<options> argument, as described below." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The value of I<pid> can be:" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "E<lt> B<-1>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"meaning wait for any child process whose process group ID is equal to the " +"absolute value of I<pid>." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<-1>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "meaning wait for any child process." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<0>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"meaning wait for any child process whose process group ID is equal to that " +"of the calling process at the time of the call to B<waitpid>()." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "E<gt> B<0>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"meaning wait for the child whose process ID is equal to the value of I<pid>." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The value of I<options> is an OR of zero or more of the following constants:" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<WNOHANG>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "return immediately if no child has exited." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<WUNTRACED>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"also return if a child has stopped (but not traced via B<ptrace>(2)). " +"Status for I<traced> children which have stopped is provided even if this " +"option is not specified." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<WCONTINUED> (since Linux 2.6.10)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"also return if a stopped child has been resumed by delivery of B<SIGCONT>." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "(For Linux-only options, see below.)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If I<wstatus> is not NULL, B<wait>() and B<waitpid>() store status " +"information in the I<int> to which it points. This integer can be inspected " +"with the following macros (which take the integer itself as an argument, not " +"a pointer to it, as is done in B<wait>() and B<waitpid>()!):" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<WIFEXITED(>I<wstatus>B<)>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"returns true if the child terminated normally, that is, by calling " +"B<exit>(3) or B<_exit>(2), or by returning from main()." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<WEXITSTATUS(>I<wstatus>B<)>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"returns the exit status of the child. This consists of the least " +"significant 8 bits of the I<status> argument that the child specified in a " +"call to B<exit>(3) or B<_exit>(2) or as the argument for a return " +"statement in main(). This macro should be employed only if B<WIFEXITED> " +"returned true." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<WIFSIGNALED(>I<wstatus>B<)>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "returns true if the child process was terminated by a signal." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<WTERMSIG(>I<wstatus>B<)>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"returns the number of the signal that caused the child process to " +"terminate. This macro should be employed only if B<WIFSIGNALED> returned " +"true." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<WCOREDUMP(>I<wstatus>B<)>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"returns true if the child produced a core dump (see B<core>(5)). This macro " +"should be employed only if B<WIFSIGNALED> returned true." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This macro is not specified in POSIX.1-2001 and is not available on some " +"UNIX implementations (e.g., AIX, SunOS). Therefore, enclose its use inside " +"I<#ifdef WCOREDUMP ... #endif>." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<WIFSTOPPED(>I<wstatus>B<)>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"returns true if the child process was stopped by delivery of a signal; this " +"is possible only if the call was done using B<WUNTRACED> or when the child " +"is being traced (see B<ptrace>(2))." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<WSTOPSIG(>I<wstatus>B<)>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"returns the number of the signal which caused the child to stop. This macro " +"should be employed only if B<WIFSTOPPED> returned true." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<WIFCONTINUED(>I<wstatus>B<)>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"(since Linux 2.6.10) returns true if the child process was resumed by " +"delivery of B<SIGCONT>." +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "waitid()" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<waitid>() system call (available since Linux 2.6.9) provides more " +"precise control over which child state changes to wait for." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I<idtype> and I<id> arguments select the child(ren) to wait for, as " +"follows:" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "I<idtype> == B<P_PID>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Wait for the child whose process ID matches I<id>." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "I<idtype> == B<P_PIDFD> (since Linux 5.4)" +msgstr "" + +#. commit 3695eae5fee0605f316fbaad0b9e3de791d7dfaf +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Wait for the child referred to by the PID file descriptor specified in " +"I<id>. (See B<pidfd_open>(2) for further information on PID file " +"descriptors.)" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "I<idtype> == B<P_PGID>" +msgstr "" + +#. commit 821cc7b0b205c0df64cce59aacc330af251fa8f7 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Wait for any child whose process group ID matches I<id>. Since Linux 5.4, " +"if I<id> is zero, then wait for any child that is in the same process group " +"as the caller's process group at the time of the call." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "I<idtype> == B<P_ALL>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Wait for any child; I<id> is ignored." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The child state changes to wait for are specified by ORing one or more of " +"the following flags in I<options>:" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<WEXITED>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Wait for children that have terminated." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<WSTOPPED>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Wait for children that have been stopped by delivery of a signal." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<WCONTINUED>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Wait for (previously stopped) children that have been resumed by delivery of " +"B<SIGCONT>." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The following flags may additionally be ORed in I<options>:" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "As for B<waitpid>()." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<WNOWAIT>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Leave the child in a waitable state; a later wait call can be used to again " +"retrieve the child status information." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Upon successful return, B<waitid>() fills in the following fields of the " +"I<siginfo_t> structure pointed to by I<infop>:" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "I<si_pid>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The process ID of the child." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "I<si_uid>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The real user ID of the child. (This field is not set on most other " +"implementations.)" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "I<si_signo>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Always set to B<SIGCHLD>." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "I<si_status>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Either the exit status of the child, as given to B<_exit>(2) (or " +"B<exit>(3)), or the signal that caused the child to terminate, stop, or " +"continue. The I<si_code> field can be used to determine how to interpret " +"this field." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "I<si_code>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Set to one of: B<CLD_EXITED> (child called B<_exit>(2)); B<CLD_KILLED> " +"(child killed by signal); B<CLD_DUMPED> (child killed by signal, and dumped " +"core); B<CLD_STOPPED> (child stopped by signal); B<CLD_TRAPPED> (traced " +"child has trapped); or B<CLD_CONTINUED> (child continued by B<SIGCONT>)." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If B<WNOHANG> was specified in I<options> and there were no children in a " +"waitable state, then B<waitid>() returns 0 immediately and the state of the " +"I<siginfo_t> structure pointed to by I<infop> depends on the " +"implementation. To (portably) distinguish this case from that where a child " +"was in a waitable state, zero out the I<si_pid> field before the call and " +"check for a nonzero value in this field after the call returns." +msgstr "" + +#. POSIX.1-2001 leaves this possibility unspecified; most +#. implementations (including Linux) zero out the structure +#. in this case, but at least one implementation (AIX 5.1) +#. does not -- MTK Nov 04 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"POSIX.1-2008 Technical Corrigendum 1 (2013) adds the requirement that when " +"B<WNOHANG> is specified in I<options> and there were no children in a " +"waitable state, then B<waitid>() should zero out the I<si_pid> and " +"I<si_signo> fields of the structure. On Linux and other implementations " +"that adhere to this requirement, it is not necessary to zero out the " +"I<si_pid> field before calling B<waitid>(). However, not all " +"implementations follow the POSIX.1 specification on this point." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "RETURN VALUE" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<wait>(): on success, returns the process ID of the terminated child; on " +"failure, -1 is returned." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<waitpid>(): on success, returns the process ID of the child whose state " +"has changed; if B<WNOHANG> was specified and one or more child(ren) " +"specified by I<pid> exist, but have not yet changed state, then 0 is " +"returned. On failure, -1 is returned." +msgstr "" + +#. FIXME As reported by Vegard Nossum, if infop is NULL, then waitid() +#. returns the PID of the child. Either this is a bug, or it is intended +#. behavior that needs to be documented. See my Jan 2009 LKML mail +#. "waitid() return value strangeness when infop is NULL". +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<waitid>(): returns 0 on success or if B<WNOHANG> was specified and no " +"child(ren) specified by I<id> has yet changed state; on failure, -1 is " +"returned." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "On failure, each of these calls sets I<errno> to indicate the error." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "ERRORS" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EAGAIN>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The PID file descriptor specified in I<id> is nonblocking and the process " +"that it refers to has not terminated." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ECHILD>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"(for B<wait>()) The calling process does not have any unwaited-for children." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"(for B<waitpid>() or B<waitid>()) The process specified by I<pid> " +"(B<waitpid>()) or I<idtype> and I<id> (B<waitid>()) does not exist or is " +"not a child of the calling process. (This can happen for one's own child if " +"the action for B<SIGCHLD> is set to B<SIG_IGN>. See also the I<Linux Notes> " +"section about threads.)" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EINTR>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<WNOHANG> was not set and an unblocked signal or a B<SIGCHLD> was caught; " +"see B<signal>(7)." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EINVAL>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The I<options> argument was invalid." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ESRCH>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "(for B<wait>() or B<waitpid>()) I<pid> is equal to B<INT_MIN>." +msgstr "" + +#. type: SH +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "VERSIONS" +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "C library/kernel differences" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<wait>() is actually a library function that (in glibc) is implemented as " +"a call to B<wait4>(2)." +msgstr "" + +#. e.g., i386 has the system call, but not x86-64 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"On some architectures, there is no B<waitpid>() system call; instead, this " +"interface is implemented via a C library wrapper function that calls " +"B<wait4>(2)." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The raw B<waitid>() system call takes a fifth argument, of type I<struct " +"rusage\\ *>. If this argument is non-NULL, then it is used to return " +"resource usage information about the child, in the same manner as " +"B<wait4>(2). See B<getrusage>(2) for details." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "STANDARDS" +msgstr "" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "POSIX.1-2008." +msgstr "" + +#. type: SH +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "HISTORY" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "SVr4, 4.3BSD, POSIX.1-2001." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "NOTES" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A child that terminates, but has not been waited for becomes a \"zombie\". " +"The kernel maintains a minimal set of information about the zombie process " +"(PID, termination status, resource usage information) in order to allow the " +"parent to later perform a wait to obtain information about the child. As " +"long as a zombie is not removed from the system via a wait, it will consume " +"a slot in the kernel process table, and if this table fills, it will not be " +"possible to create further processes. If a parent process terminates, then " +"its \"zombie\" children (if any) are adopted by B<init>(1), (or by the " +"nearest \"subreaper\" process as defined through the use of the B<prctl>(2) " +"B<PR_SET_CHILD_SUBREAPER> operation); B<init>(1) automatically performs a " +"wait to remove the zombies." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"POSIX.1-2001 specifies that if the disposition of B<SIGCHLD> is set to " +"B<SIG_IGN> or the B<SA_NOCLDWAIT> flag is set for B<SIGCHLD> (see " +"B<sigaction>(2)), then children that terminate do not become zombies and a " +"call to B<wait>() or B<waitpid>() will block until all children have " +"terminated, and then fail with I<errno> set to B<ECHILD>. (The original " +"POSIX standard left the behavior of setting B<SIGCHLD> to B<SIG_IGN> " +"unspecified. Note that even though the default disposition of B<SIGCHLD> is " +"\"ignore\", explicitly setting the disposition to B<SIG_IGN> results in " +"different treatment of zombie process children.)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Linux 2.6 conforms to the POSIX requirements. However, Linux 2.4 (and " +"earlier) does not: if a B<wait>() or B<waitpid>() call is made while " +"B<SIGCHLD> is being ignored, the call behaves just as though B<SIGCHLD> were " +"not being ignored, that is, the call blocks until the next child terminates " +"and then returns the process ID and status of that child." +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Linux notes" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"In the Linux kernel, a kernel-scheduled thread is not a distinct construct " +"from a process. Instead, a thread is simply a process that is created using " +"the Linux-unique B<clone>(2) system call; other routines such as the " +"portable B<pthread_create>(3) call are implemented using B<clone>(2). " +"Before Linux 2.4, a thread was just a special case of a process, and as a " +"consequence one thread could not wait on the children of another thread, " +"even when the latter belongs to the same thread group. However, POSIX " +"prescribes such functionality, and since Linux 2.4 a thread can, and by " +"default will, wait on children of other threads in the same thread group." +msgstr "" + +#. commit 91c4e8ea8f05916df0c8a6f383508ac7c9e10dba +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The following Linux-specific I<options> are for use with children created " +"using B<clone>(2); they can also, since Linux 4.7, be used with B<waitid>():" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<__WCLONE>" +msgstr "" + +#. since 0.99pl10 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Wait for \"clone\" children only. If omitted, then wait for \"non-clone\" " +"children only. (A \"clone\" child is one which delivers no signal, or a " +"signal other than B<SIGCHLD> to its parent upon termination.) This option " +"is ignored if B<__WALL> is also specified." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<__WALL> (since Linux 2.4)" +msgstr "" + +#. since patch-2.3.48 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Wait for all children, regardless of type (\"clone\" or \"non-clone\")." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<__WNOTHREAD> (since Linux 2.4)" +msgstr "" + +#. since patch-2.4.0-test8 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Do not wait for children of other threads in the same thread group. This " +"was the default before Linux 2.4." +msgstr "" + +#. commit bf959931ddb88c4e4366e96dd22e68fa0db9527c +#. prevents cases where an unreapable zombie is created if +#. /sbin/init doesn't use __WALL. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Since Linux 4.7, the B<__WALL> flag is automatically implied if the child is " +"being ptraced." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "BUGS" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"According to POSIX.1-2008, an application calling B<waitid>() must ensure " +"that I<infop> points to a I<siginfo_t> structure (i.e., that it is a non-" +"null pointer). On Linux, if I<infop> is NULL, B<waitid>() succeeds, and " +"returns the process ID of the waited-for child. Applications should avoid " +"relying on this inconsistent, nonstandard, and unnecessary feature." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "EXAMPLES" +msgstr "" + +#. fork.2 refers to this example program. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The following program demonstrates the use of B<fork>(2) and B<waitpid>(). " +"The program creates a child process. If no command-line argument is " +"supplied to the program, then the child suspends its execution using " +"B<pause>(2), to allow the user to send signals to the child. Otherwise, if " +"a command-line argument is supplied, then the child exits immediately, using " +"the integer supplied on the command line as the exit status. The parent " +"process executes a loop that monitors the child using B<waitpid>(), and uses " +"the W*() macros described above to analyze the wait status value." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The following shell session demonstrates the use of the program:" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"$B< ./a.out &>\n" +"Child PID is 32360\n" +"[1] 32359\n" +"$B< kill -STOP 32360>\n" +"stopped by signal 19\n" +"$B< kill -CONT 32360>\n" +"continued\n" +"$B< kill -TERM 32360>\n" +"killed by signal 15\n" +"[1]+ Done ./a.out\n" +"$\n" +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Program source" +msgstr "" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap +msgid "" +"#include E<lt>stdint.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>sys/wait.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +"\\&\n" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" int wstatus;\n" +" pid_t cpid, w;\n" +"\\&\n" +" cpid = fork();\n" +" if (cpid == -1) {\n" +" perror(\"fork\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" if (cpid == 0) { /* Code executed by child */\n" +" printf(\"Child PID is %jd\\en\", (intmax_t) getpid());\n" +" if (argc == 1)\n" +" pause(); /* Wait for signals */\n" +" _exit(atoi(argv[1]));\n" +"\\&\n" +" } else { /* Code executed by parent */\n" +" do {\n" +" w = waitpid(cpid, &wstatus, WUNTRACED | WCONTINUED);\n" +" if (w == -1) {\n" +" perror(\"waitpid\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" if (WIFEXITED(wstatus)) {\n" +" printf(\"exited, status=%d\\en\", WEXITSTATUS(wstatus));\n" +" } else if (WIFSIGNALED(wstatus)) {\n" +" printf(\"killed by signal %d\\en\", WTERMSIG(wstatus));\n" +" } else if (WIFSTOPPED(wstatus)) {\n" +" printf(\"stopped by signal %d\\en\", WSTOPSIG(wstatus));\n" +" } else if (WIFCONTINUED(wstatus)) {\n" +" printf(\"continued\\en\");\n" +" }\n" +" } while (!WIFEXITED(wstatus) && !WIFSIGNALED(wstatus));\n" +" exit(EXIT_SUCCESS);\n" +" }\n" +"}\n" +msgstr "" + +#. SRC END +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "SEE ALSO" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<_exit>(2), B<clone>(2), B<fork>(2), B<kill>(2), B<ptrace>(2), " +"B<sigaction>(2), B<signal>(2), B<wait4>(2), B<pthread_create>(3), " +"B<core>(5), B<credentials>(7), B<signal>(7)" +msgstr "" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "2023-02-05" +msgstr "" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "Linux man-pages 6.03" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"#include E<lt>stdint.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>sys/wait.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" int wstatus;\n" +" pid_t cpid, w;\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" cpid = fork();\n" +" if (cpid == -1) {\n" +" perror(\"fork\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (cpid == 0) { /* Code executed by child */\n" +" printf(\"Child PID is %jd\\en\", (intmax_t) getpid());\n" +" if (argc == 1)\n" +" pause(); /* Wait for signals */\n" +" _exit(atoi(argv[1]));\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" } else { /* Code executed by parent */\n" +" do {\n" +" w = waitpid(cpid, &wstatus, WUNTRACED | WCONTINUED);\n" +" if (w == -1) {\n" +" perror(\"waitpid\");\n" +" exit(EXIT_FAILURE);\n" +" }\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (WIFEXITED(wstatus)) {\n" +" printf(\"exited, status=%d\\en\", WEXITSTATUS(wstatus));\n" +" } else if (WIFSIGNALED(wstatus)) {\n" +" printf(\"killed by signal %d\\en\", WTERMSIG(wstatus));\n" +" } else if (WIFSTOPPED(wstatus)) {\n" +" printf(\"stopped by signal %d\\en\", WSTOPSIG(wstatus));\n" +" } else if (WIFCONTINUED(wstatus)) {\n" +" printf(\"continued\\en\");\n" +" }\n" +" } while (!WIFEXITED(wstatus) && !WIFSIGNALED(wstatus));\n" +" exit(EXIT_SUCCESS);\n" +" }\n" +"}\n" +msgstr "" + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "2023-05-03" +msgstr "" + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "Linux man-pages 6.05.01" +msgstr "" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "2023-03-30" +msgstr "" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "Linux man-pages 6.04" +msgstr "" |