waitid - Wait for child process to change state
int options );
Interfaces documented on this reference page conform to industry standards
Refer to the standards(5) reference page for more information about indus-
try standards and associated tags.
Identifies the type of process to be affected. Used with the id param-
eter, it suspends execution for the specified child process.
id Specifies either the process ID or process group ID of the child pro-
cess. Used with the idtype parameter, it suspends execution for the
Specifies a pointer to a siginfo_t structure.
Specifies the conditions that must occur before a wait operation is
performed by the waitid() function.
The waitid() function holds a calling process until the state of a child
process changes. The current state of the child is recorded in a structure
pointed to by the infop parameter. If a child process changed state prior
to the call to the waitid() function, the waitid() function returns immedi-
The idtype and id parameters determine which child process the waitid()
function is to act upon.
+ If the idtype parameter is P_PID, the waitid() function waits for the
child with a process ID equal to (pid_t)id.
+ If the idtype parameter is P_PGID, the waitid() function waits for any
child with a process group ID equal to (pid_t)id.
+ If the idtype parameter is P_ALL, the waitid function waits for any
child and the id parameter is ignored.
The options parameter specifies the conditions that must occur before a
wait operation is performed by the waitid() function. To specify a condi-
tion, use at least one of the following flags in a logical OR operation:
Return the status for any child that was stopped and has been contin-
Wait for processes to exit.
Return immediately if no child processes in the requested state are
Keep the child process whose status is returned in infop in a waitable
state. Another wait for that child may occur with the same results.
Wait for and return the process status of any child that has stopped
upon receipt of a signal.
[Tru64 UNIX] Wait for traced processes to become trapped or reach a
breakpoint (see ptrace(2)).
The infop parameter must point to a siginfo_t structure as defined in sig-
info(5). This structure contains the status explaining why a process is in
a wait state.
The waitid() function returns if a child process is found that satisfies
the conditions defined by the idtype and options parameters. In this case,
the system fills in the structure pointed to by the infop parameter with
the process status. The system always sets the si_signo structure member to
If the waitid() function returns because the state of a child process
changes, it returns a value of zero (0). Otherwise, a value of -1 is
returned and errno is set to indicate the error.
The waitid() function sets errno to the specified values for the following
The calling process has no unwaited-for child processes.
[Tru64 UNIX] The infop parameter points to an invalid address.
The waitid() function was interrupted due to the receipt of a signal by
the calling process.
An invalid value was used with the options parameter, or the idtype and
id parameters specify an invalid set of processes.
Functions: intro(2), exec(2), exit(2), fork(2), pause(3), ptrace(2),
sigaction(2), signal(2), wait(2)