pcntl_wait

(PHP 5, PHP 7, PHP 8)

pcntl_waitEspera o devuelve el estado de un proceso hijo

Descripción

pcntl_wait(int &$status, int $flags = 0, array &$resource_usage = []): int

pcntl_wait() suspende la ejecución del proceso actual hasta que uno de los procesos hijos haya terminado, o hasta que se envíe una señal para terminar el proceso actual o para llamar a un gestor. Si el proceso ya ha terminado en el momento de la llamada a la función, es decir, si el proceso es un zombie, entonces la función termina inmediatamente. Todos los recursos del sistema utilizados por el proceso hijo son liberados. Consulte el manual de su sistema en wait(2) para obtener detalles específicos sobre el funcionamiento de wait() en él.

Nota:

Esta función es equivalente a llamar a la función pcntl_waitpid() con un process_id valiendo -1 y sin flags.

Parámetros

status

pcntl_wait() almacenará la información de estado en el parámetro status que puede ser leído con las siguientes funciones: pcntl_wifexited(), pcntl_wifstopped(), pcntl_wifsignaled(), pcntl_wexitstatus(), pcntl_wtermsig() y pcntl_wstopsig().

flags

Si wait3 está disponible en su sistema (esto es el caso de la mayoría de los sistemas BSD-), puede añadir el parámetro opcional flags. Si no se proporciona, wait() será utilizado para la llamada al sistema. Si wait3 no está disponible, el parámetro flags no tendrá efecto. El valor de flags es la combinación de cero o más de las siguientes constantes:

Valores posibles para flags
WNOHANG Termina inmediatamente si ningún proceso ha terminado.
WUNTRACED Termina para los procesos que están detenidos, y para aquellos cuyo resultado no ha sido reportado.

Valores devueltos

pcntl_wait() devuelve el identificador de proceso que ha terminado, -1 en caso de error o cero si WNOHANG ha sido proporcionado como opción (disponible en los sistemas wait3), y ningún proceso hijo estaba disponible.

Ver también