(PHP 5, PHP 7, PHP 8)
pcntl_wait — Aguarda ou retorna o status de um filho bifurcado
A função wait suspende a execução do processo atual até que um filho tenha saído, ou até que um sinal seja entregue, cuja ação seja encerrar o processo atual ou chamar uma função de tratamento de sinais. Se um filho já tiver saído no momento da chamada (um processo chamado de "zumbi"), a função retorna imediatamente. Quaisquer recursos do sistema usados pelo filho são liberados. Consulte a página de manual wait(2) do sistema operacional para detalhes específicos sobre como wait funciona.
Nota:
Esta função é equivalente a chamar pcntl_waitpid() com um
-1
process_id
e semflags
.
status
pcntl_wait() armazenará informações de status
no parâmetro status
, que podem ser
avaliadas usando as seguintes funções:
pcntl_wifexited(),
pcntl_wifstopped(),
pcntl_wifsignaled(),
pcntl_wexitstatus(),
pcntl_wtermsig() e
pcntl_wstopsig().
flags
Se wait3 estiver disponível no sistema (principalmente sistemas no estilo BSD), pode
ser fornecido o parâmetro opcional flags
. Se este
parâmetro não for fornecido, wait será usado para a chamada de sistema. Se
wait3 não estiver disponível, fornecer um valor para flags
não terá efeito. O valor de flags
é uma operação OR
de zero ou mais das duas
constantes a seguir:
WNOHANG |
Retorna imediatamente se nenhum processo filho tiver saído. |
WUNTRACED |
Retorna para processos filhos que estão parados e cujos status não tenham sido reportados. |
pcntl_wait() retorna o ID do processo filho que saiu, -1 em caso de erro ou zero se WNOHANG foi fornecido como uma opção (em sistemas que tenham wait3 disponível) e nenhum processo filho estava disponível.