Учебник РНР
НазадВперёд

pcntl_signal

(PHP 4 >= 4.1.0)

pcntl_signal - инсталирует обработчик сигнала.

Описание

bool pcntl_signal (int signo, mixed handler)

Функция 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...\n";
             break;
         default:
             // обработка всех других сигналов
     }

}

print "Installing signal handler...\n";

// установка обработчиков сигналов
pcntl_signal(SIGTERM, "sig_handler");
pcntl_signal(SIGHUP, "sig_handler");
pcntl_signal(SIGUSR1, "sig_handler");

print "Generating signal SIGTERM to self...\n";

// отправка SIGUSR1 текущему process id
posix_kill(posix_getpid(), SIGUSR1);

print "Done\n"

?>

См. также pcntl_fork() и pcntl_waitpid().


Назад Оглавление Вперёд
pcntl_fork Вверхpcntl_waitpid