Un evento puede también supervisar las señales de estilo POSIX.
  Para construir un gestor para una señal, utilice el método
  Event::__construct() con el flag
  Event::SIGNAL o el método factorial
  Event::signal().
 
Ejemplo #1 Gestión de una señal SIGTERM
<?php
/*
Ejecute este ejemplo en un terminal:
$ php examples/signal.php
En otro terminal, encuentre el pid y envíe la señal SIGTERM, es decir:
$ 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
En el primer terminal, debería capturar lo siguiente:
Caught signal 15
*/
class MyEventSignal {
    private $base, $ev;
    public function __construct($base) {
        $this->base = $base;
        $this->ev = Event::signal($base, SIGTERM, array($this, 'eventSighandler'));
        $this->ev->add();
    }
    public function eventSighandler($no, $c) {
        echo "Caught signal $no\n";
        $this->base->exit();
    }
}
$base = new EventBase();
$c    = new MyEventSignal($base);
$base->loop();
?>Tenga en cuenta que las funciones de retrollamada de una señal se ejecutan en el bucle de eventos después de que la señal haya ocurrido, por lo tanto, es más seguro para la señal llamar a funciones desde el bucle que no se supone que se llamen desde un gestor de señales POSIX clásico.
Véase también la » programación de red fácil, portable y no bloqueante con Libevent; Construcción de un evento de tipo señal.
