Aguarda ou retorna o status de um filho bifurcado

# pcntl_wait

(PHP 5, PHP 7, PHP 8)

pcntl_wait — Aguarda ou retorna o status de um filho bifurcado

### Descrição

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

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 sem `flags`.

### Parâmetros

`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:

  Valores possíveis para `flags`
  `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.

### Valor Retornado

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.

### Veja Também

- pcntl_fork() - Bifurca o processo em execução no momento
- pcntl_signal() - Instala um manipulador de sinal
- pcntl_wifexited() - Verifica se o código de status representa uma saída normal
- pcntl_wifstopped() - Verifica se o processo filho está parado no momento
- pcntl_wifsignaled() - Verifica se o código de status representa uma terminação devido a um sinal
- pcntl_wexitstatus() - Retorna o código de retorno de um filho encerrado
- pcntl_wtermsig() - Retorna o sinal que causou o término do processo filho
- pcntl_wstopsig() - Retorna o sinal que fez o processo filho parar
- pcntl_waitpid() - Aguarda ou retorna o status de um filho bifurcado

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open