(PHP 5 >= 5.3.0, PHP 7, PHP 8)
pcntl_sigwaitinfo — Espera por sinais
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.
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:
Os seguintes elementos podem ser definidos para o sinal SIGCHLD
:
Os seguintes elementos podem ser definidos para os sinais SIGILL
,
SIGFPE
, SIGSEGV
e
SIGBUS
:
O seguinte elemento pode ser definido para o sinal
SIGPOLL
:
Retorna um número de sinal em caso de sucesso, ou false
em caso de falha.
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.
|
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);
?>