(PHP 5 >= 5.3.0, PHP 7, PHP 8)
pcntl_sigwaitinfo — Ожидание сигналов
Функция pcntl_sigwaitinfo() приостанавливает выполнение вызывающего скрипта до тех пор,
пока не будет доставлен один из сигналов, указанных в signals.
Если один из сигналов уже ожидает обработки (например, заблокирован pcntl_sigprocmask()),pcntl_sigwaitinfo() незамедлительно вернёт управление.
signalsМассив ожидаемых сигналов.
info
Аргумент info массив, содержащий информацию о сигнале.
Следующие ключи массива (аргумента) применимы для всех сигналов
Следующие элементы массива применимы для сигнала SIGCHLD:
Следующие элементы массива применимы для сигналов
SIGILL, SIGFPE,
SIGSEGV и SIGBUS:
Следующие элементы массива применимы для сигнала SIGPOLL
В случае успешного выполнения функция pcntl_sigwaitinfo() возвращает номер сигнала или false, если возникла ошибка.
| Версия | Описание |
|---|---|
| 8.4.0 |
Если значение параметра signal не задано,
выбрасывается ошибка ValueError.
|
| 8.4.0 |
Если значение параметра signal не целое число (int),
выбрасывается ошибка ValueError.
|
| 8.4.0 |
Если значение параметра signal некорректно,
выбрасывается ошибка ValueError.
|
Пример #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);
?>