Добро пожаловать на форум PHP программистов!
За последние 24 часа нас посетили 5819 программистов и 653 робота. Сейчас ищет 141 программист ...
Приступая к работе

Constructing signal events

Вернуться к: Event

Event can also watch for POSIX-style signals. To construct a handler for a signal, use Event::__construct() constructor with Event::SIGNAL flag, or Event::signal() factory method.

Пример #1 Handling SIGTERM signal

Launch it in a terminal window:

$ php examples/signal.php

In another terminal window find out the pid and send SIGTERM, e.g.:

$ ps aux | grep examp
ruslan    3976  0.2  0.0 139896 11256 pts/1    S+   10:25   0:00 php examples/signal.php
ruslan    3978  0.0  0.0   9572   864 pts/2    S+   10:26   0:00 grep --color=auto examp
$ kill -TERM 3976

At the first terminal window you should catch the following:

Caught signal 15
class MyEventSignal {

    public function 
__construct($base) {
$this->base $base;
$this->ev Event::signal($baseSIGTERM, array($this'eventSighandler'));

    public function 
eventSighandler($no$c) {
"Caught signal $no\n";

$base = new EventBase();
$c    = new MyEventSignal($base);


Note that signal callbacks are run in the event loop after the signal occurs, so it is safe for them to call functions that you are not supposed to call from a regular POSIX signal handler.

See also » Fast portable non-blocking network programming with Libevent, Constructing Signal Events .

Вернуться к: Event

© 2020 «PHP.RU — Сообщество PHP-Программистов»
Главная | Форум | Реклама на сайте | Контакты VIP Сувениры
Разработка компании ODware