Espera por sinais

# pcntl_sigwaitinfo

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

pcntl_sigwaitinfo — Espera por sinais

### Descrição

function pcntl_sigwaitinfo(array `$signals`, array `&$info` = []): int|false

A função pcntl_sigwaitinfo() suspende a execução do script de chamada até que um dos sinais fornecidos em `signals` seja entregue. Se um dos sinais já estiver pendente (por exemplo, bloqueado por pcntl_sigprocmask()), pcntl_sigwaitinfo() retornará imediatamente.

### Parâmetros

`signals`

  Array de sinais a serem aguardados.

`info`

  O parâmetro `info` é definido como uma array contendo informações sobre o sinal.

  Os seguintes elementos são definidos para todos os sinais:

  - signo: Número do sinal
  - errno: Um número de erro
  - code: Código de sinal

  Os seguintes elementos podem ser definidos para o sinal `SIGCHLD`:

  - status: Valor ou sinal de saída
  - utime: Tempo do usuário consumido
  - stime: Tempo do sistema consumido
  - pid: ID do processo que está enviando
  - uid: ID do usuário real do processo que está enviando

  Os seguintes elementos podem ser definidos para os sinais `SIGILL`, `SIGFPE`, `SIGSEGV` e `SIGBUS`:

  - addr: Local de memória que causou a falha

  O seguinte elemento pode ser definido para o sinal `SIGPOLL`:

  - band: Evento de banda
  - fd: Número do descritor de arquivo

### Valor Retornado

Retorna um número de sinal em caso de sucesso, ou `false` em caso de falha.

### Registro de Alterações

Versão | Descrição
--- | ---
8.4.0 | Um ValueError é lançado se `signal` estiver vazio.
8.4.0 | Um TypeError é lançado se o valor `signal` não for um int.
8.4.0 | Um ValueError é lançado se o valor `signal` for inválido.

### Exemplos

Exemplo #1 Exemplo de pcntl_sigwaitinfo()

    <?php
    echo "Sinal SIGHUP bloqueante\n";
    pcntl_sigprocmask(SIG_BLOCK, array(SIGHUP));

    echo "Enviando SIGHUP para si mesmo\n";
    posix_kill(posix_getpid(), SIGHUP);

    echo "Aguardando por sinais\n";
    $info = array();
    pcntl_sigwaitinfo(array(SIGHUP), $info);
    ?>

### Veja Também

- pcntl_sigprocmask() - Define e recupera sinais bloqueados
- pcntl_sigtimedwait() - Aguarda sinais, com tempo limite

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