(PHP 5 >= 5.3.0, PHP 7)
pcntl_sigwaitinfo — Ожидание сигналов
$set
[, array &$siginfo
] ) : intФункция pcntl_sigwaitinfo() приостанавливает исполнение вызываемого скрипта до тех пор, пока не будет получен сигнал, указанный в аргументе pcntl_sigwaitinfo(). Если один из сигналов уже в ожидании (т.е. заблокирован функцией pcntl_sigprocmask()), то функция pcntl_sigwaitinfo() незамедлительно вернёт управление.
set
Массив ожидаемых сигналов.
siginfo
Аргумент siginfo
массив содержащий информацию о сигнале.
Следующие ключи массива (аргумента) применимы для всех сигналов
Следующие элементы массива применимы для сигнала SIGCHLD
:
Следующие элементы массива применимы для сигналов
SIGILL
, SIGFPE
,
SIGSEGV
и SIGBUS
:
Следующие элементы массива применимы для сигнала SIGPOLL
В случае успеха функция pcntl_sigwaitinfo() возвращает номер сигнала.
Пример #1 Пример использования pcntl_sigwaitinfo()
<?php
echo "Блокировка сигнала SIGHUP\n";
pcntl_sigprocmask(SIG_BLOCK, array(SIGHUP));
echo "Отправка сигнала SIGHUP самому себе\n";
posix_kill(posix_getpid(), SIGHUP);
echo "Ожидание сигналов\n";
$info = array();
pcntl_sigwaitinfo(array(SIGHUP), $info);
?>