pcntl_wait
(PHP 5, PHP 7, PHP 8)
pcntl_wait — Waits on or returns the status of a forked child
Description
function pcntl_wait(
int &$status,
int $flags = 0,
array &$resource_usage = []):
int
Note:
This function is equivalent to calling pcntl_waitpid()
with a -1 process_id and no
flags.
Parameters
status
-
pcntl_wait() will store status information
in the status parameter which can be
evaluated using the following functions:
pcntl_wifexited(),
pcntl_wifstopped(),
pcntl_wifsignaled(),
pcntl_wexitstatus(),
pcntl_wtermsig() and
pcntl_wstopsig().
flags
-
If wait3 is available on your system (mostly BSD-style systems), you can
provide the optional flags parameter. If this
parameter is not provided, wait will be used for the system call. If
wait3 is not available, providing a value for flags
will have no effect. The value of flags
is the value of zero or more of the following two constants
OR'ed together:
Possible values for flags
WNOHANG |
Return immediately if no child has exited.
|
WUNTRACED |
Return for children which are stopped, and whose status has
not been reported.
|
resource_usage
-
The resource_usage parameter is set to an
associative array containing resource usage statistics
from the child process. For information on the contents see
getrusage().
This is only supported if the wait3(2) system call is
available on the system; otherwise the parameter is left untouched.
If no child process was reaped, that is if the function returns
0 or -1, the parameter is set to
an empty array.
Return Values
pcntl_wait() returns the process ID of the
child which exited, -1 on error or zero if WNOHANG was provided as an
option (on wait3-available systems) and no child was available.