wait3.2 (2010 09)

w
wait3(2) wait3(2)
NAME
wait3(), wait4() - wait for child process to change state
SYNOPSIS
#include <sys/wait.h>
pid_t wait3 (int *stat_loc, int options, struct rusage *resource_usage);
pid_t wait4 (pid_t pid, int *stat_loc, int options,
struct rusage *resource_usage);
DESCRIPTION
The wait3() and wait4() functions allow the calling process to obtain various status information for
a caller’s child process based on the options specified. If status information is available for two or more
child processes, the order of which process to report status on is not defined.
The
wait4() function is similar to wait3()
, except that wait4() waits for a specific child as indi-
cated by the pid parameter.
Note that the following call
wait3(stat_loc, options, resource_usage);
is equivalent to the call:
waitpid((pid_t)-1, stat_loc, options);
Note that the following call
wait4(pid, stat_loc, options, resource_usage);
is equivalent to the call:
waitpid(pid, stat_loc, options);
In both of the previous prototypes, on successful completion, if the resource_usage argument to
wait3()
or wait4() is not a null pointer, the rusage structure that the resource_usage argument points to is
filled in for the child process identified by the return value.
The pid argument specifies a child process for which status is requested. The following rules define
which status information is returned:
If pid is equal to (pid_t ) 1, status is requested for any child process.
If pid is greater than 0, it specifies the process ID of a single child process for which status is
requested.
If pid is 0, status is requested for any child process whose process group ID is equal to that of the
calling process.
If pid is less than (pid_t ) 1, status is requested for any child process whose process group ID is
equal to the absolute value of pid.
The stat_loc argument is the address where status about the specified child process is placed.
The options argument is constructed from the bitwise-inclusive OR of zero or more of the following flags
defined in the
<sys/wait.h> header file:
WCONTINUED The status of any continued child process specified by pid that has not been
reported since it continued is reported to the requesting process.
WNOHANG The wait3() and wait4() functions will not suspend execution of the calling
process if status is not immediately available for one of the child processes
specified by pid .
WNOWAIT This causes the wait not to be registered. This means that the registered process
that is being waited on, can be waited on again with identical results, provided
that the status of the child does not change in the meantime.
WUNTRACED The status of any child processes specified by pid that are stopped and whose
status has not yet been reported since they stopped, will also be reported to the
requesting process.
The resource_usage argument points to the resource utilization structure.
HP-UX 11i Version 3: September 2010 1 Hewlett-Packard Company 1

Summary of content (2 pages)