Функция pcntl_signal() устанавливает новый обработчик сигнала для сигнала signo.
Обработчик сигнала устанавливается в handler, который может быть именем функции, созданной пользователем, или одной из двух
глобальных констант: SIG_IGN или SIG_DFL.
pcntl_signal() возвращает TRUE при успехе,
FALSE при неудаче.
Пример 1. pcntl_signal()
<?php
// функция обработчика сигнала
function sig_handler($signo) {
switch($signo) {
case SIGTERM:
// обработка задач shutdown
exit;
break;
case SIGHUP:
// обработка задач restart
break;
case SIGUSR1:
print "Caught SIGUSR1...
";
break;
default:
// обработка всех других сигналов
}
}
print "Installing signal handler...
";
// установка обработчиков сигналов
pcntl_signal(SIGTERM, "sig_handler");
pcntl_signal(SIGHUP, "sig_handler");
pcntl_signal(SIGUSR1, "sig_handler");
print "Generating signal SIGTERM to self...
";
// отправка SIGUSR1 текущему process id
posix_kill(posix_getpid(), SIGUSR1);
print "Done
"
?>