*** UNIX MANUAL PAGE BROWSER ***

A Nergahak database for man pages research.

Navigation

Directory Browser

1Browse 4.4BSD4.4BSD
1Browse Digital UNIXDigital UNIX 4.0e
1Browse FreeBSDFreeBSD 14.3
1Browse MINIXMINIX 3.4.0rc6-d5e4fc0
1Browse NetBSDNetBSD 10.1
1Browse OpenBSDOpenBSD 7.7
1Browse UNIX v7Version 7 UNIX
1Browse UNIX v10Version 10 UNIX

Manual Page Search

Manual Page Result

0 Command: waitid | Section: 2 | Source: OpenBSD | File: waitid.2
WAITID(2) FreeBSD System Calls Manual WAITID(2) NAME waitid - wait for process state change SYNOPSIS #include <sys/wait.h> int waitid(idtype_t idtype, id_t id, siginfo_t *infop, int options); DESCRIPTION The waitid() function suspends execution of its calling process until a selected state change occurs for a matching child process, or a signal is received. The set of child processes to be queried is specified by the arguments idtype and id. - If idtype is P_PID, waitid() waits for the child process with a process ID equal to (pid_t)id. - If idtype is P_PGID, waitid() waits for the child process with a process group ID equal to (pid_t)id. - If idtype is P_ALL, waitid() waits for any child process and the id is ignored. The options argument is the bitwise OR of zero or more of the following values: WCONTINUED Causes status to be reported for selected child processes that were previously stopped and which have been continued by receipt of a SIGCONT signal. WEXITED Reports the status of selected processes which have terminated. WNOHANG Indicates that the call should not block if there are no selected processes that have a status change to report. WNOWAIT Keeps the process whose status is returned in a waitable state. The process may be waited for again after this call completes. WSTOPPED Reports the status of selected processes which are stopped due to a SIGTTIN, SIGTTOU, SIGTSTP, or SIGSTOP signal. WTRAPPED Reports the status of selected processes which are stopped due to a process tracing event (ptrace(2)). At least one of WCONTINUED, WEXITED, WSTOPPED, or WTRAPPED must be specified. If waitid() found a matching process, the structure referenced by infop is filled with the status of the process: si_signo is set to SIGCHLD, and si_pid and si_uid are set to the process ID and effective user ID of the matched process. si_code will be set to one of the following values: CLD_CONTINUED The process was previously stopped and was continued. si_status will be set to SIGCONT. Only returned if options includes WCONTINUED. CLD_DUMPED The process was killed by a signal and a core file was generated. si_status will be set to the signal that killed the process. Only returned if options includes WEXITED. CLD_EXITED The process exited normally. si_status will be set to the full int value that was passed to _exit(2). Only returned if options includes WEXITED. CLD_KILLED The process was killed by a signal with generation of a core file. si_status will be set to the signal that killed the process. Only returned if options includes WEXITED. CLD_STOPPED The process was stopped due to a signal. si_status will be set to the signal that stopped the process. Only returned if options includes WSTOPPED. CLD_TRAPPED The process was stopped due to process tracing (ptrace(2)). si_status will be set to the signal that caused the trap. Only returned if options includes WTRAPPED. If WNOHANG was specified and waitid() didn't find a matching process, si_signo and si_pid will be set to zero. RETURN VALUES If waitid() returns because one or more processes have a state change to report, 0 is returned. If an error is detected, a value of -1 is returned and errno is set to indicate the error. If WNOHANG is specified and there are no stopped, continued or exited children, 0 is returned. ERRORS waitid() will fail and return immediately if: [ECHILD] The calling process has no existing unwaited-for child processes. [ECHILD] No status from the terminated child process is available because the calling process has asked the system to discard such status by ignoring the signal SIGCHLD or setting the flag SA_NOCLDWAIT for that signal. [EFAULT] The infop argument points to an illegal address. (May not be detected before exit of a child process.) [EINTR] The call was interrupted by a caught signal, or the signal did not have the SA_RESTART flag set. [EINVAL] Invalid or undefined flags were passed in the options argument, or idtype and id specified an invalid set of processes. SEE ALSO _exit(2), ptrace(2), sigaction(2), wait(2), exit(3) STANDARDS The waitid() function conforms to IEEE Std 1003.1-2008 ("POSIX.1"). The WTRAPPED macro is an extension to that specification. FreeBSD 14.1-RELEASE-p8 December 20, 2022 FreeBSD 14.1-RELEASE-p8

Navigation Options