Manual page for waitid(2)
waitid - wait for child process to change state
SYNOPSIS
#include <sys/types.h>
#include <wait.h>
int waitid(idtype_t idtype,
id_t id,
siginfo_t *infop,
int options);
DESCRIPTION
waitid()
suspends the calling process until
one of its children changes state.
It records the current state of a child in the
structure pointed to by infop.
If a child process changed state prior to the call to
waitid(),
waitid()
returns immediately.
The
idtype
and
id
arguments specify which children
waitid()
is to wait for.
If
idtype
is P_PID,
waitid()
waits for the child with a process
ID
equal to
(pid_t) id.
If
idtype
is P_PGID,
waitid()
waits for any child with a process group
ID
equal to
(pid_t)id.
If
idtype
is P_ALL,
waitid()
waits for any child and
id
is ignored.
The
options
argument is used to specify which state changes
waitid()
is to wait for.
It is formed by an
OR
of any of the following flags:
- WCONTINUED
-
Return the status for any child that was stopped and has been continued.
- WEXITED
-
Wait for process(es) to exit.
- WNOHANG
-
Return immediately.
- WNOWAIT
-
Keep the process in a waitable state.
- WSTOPPED
-
Wait for and return the process status of any child that has
stopped upon receipt of a signal.
- WTRAPPED
-
Wait for traced process(es) to become trapped or reach a breakpoint
(see
ptrace.2
infop
must point to a
siginfo_t
structure, as defined in
siginfo.5
siginfo_t
is filled in by the system with the status of the process being
waited for.
waitid(),
with
idtype
equal to
P_ALL
and
options
equal to
WEXITED|WTRAPPED,
is equivalent to
wait.2
RETURN VALUES
If
waitid()
returns due to a change of state of one of its children, a value of 0
is returned.
Otherwise, a value of -1 is returned and
errno
is set to indicate the error.
ERRORS
waitid()
fails if one or more of the following is true.
- ECHILD
-
The set of processes specified by
idtype
and
id
does not contain any unwaited-for processes.
- EFAULT
-
infop
points to an illegal address.
- EINTR
-
waitid()
was interrupted due to the receipt of a signal by the calling process.
- EINVAL
-
An invalid value was specified for
options.
- EINVAL
-
idtype
and
id
specify an invalid set of processes.
SEE ALSO
intro.2
exec.2
exit.2
fork.2
pause.2
ptrace.2
sigaction.2
wait.2
signal.3c
siginfo.5
Created by unroff & hp-tools.
© by Hans-Peter Bischof. All Rights Reserved (1997).
Last modified 21/April/97