(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);
?>