Process::signal
设置异步信号监听。
bool Process::signal(int $signo, callable $callback);
- 此方法基于
signalfd
和eventloop
是异步IO,不能用于同步程序中 - 同步阻塞的程序可以使用pcntl扩展提供的
pcntl_signal
$callback
如果为null
,表示移除信号监听- 如果已设置了此信号的回调函数,重新设置时会覆盖历史设置
使用举例:
Process::signal(SIGTERM, function($signo) {
echo "shutdown.";
});
Server
中不能设置SIGTERM
和SIGALAM
信号Process
::signal在1.7.9
以上版本可用 信号移除特性仅在1.7.21
或更高版本可用