(PECL ev >= 0.2.0)
EvSignal 监视器会在进程接收到特定信号一次或多次时触发事件。即使信号非常异步,libev 也会尽力同步地传递信号,即作为正常事件处理的一部分,就像任何其他事件一样。
对同一信号的监视器数量没有限制,但仅限于同一循环内,即可以在默认循环中监视SIGINT
,并在另一个循环中监视SIGIO
,但不能同时在默认循环和另一个循环中监视SIGINT
。目前,SIGCHLD
永久绑定到默认循环。
如果可能且受支持,libev 将使用启用了SA_RESTART
(或等效项)行为的安装其处理程序,因此系统调用不应被过度中断。如果系统调用因信号中断而出现问题,则可以在EvCheck 监视器中阻塞所有信号,并在EvPrepare 监视器中解除阻塞。
$signum
,$callback
,$data
= null
,$priority
= 0信号编号。参见 *pcntl* 扩展导出的常量。另见signal(7)
手册页。