hongxunpan / signal
PHP 的信号管理器
dev-main
2022-10-16 17:57 UTC
Requires
- php: >=7.1
This package is auto-updated.
Last update: 2024-09-25 19:34:32 UTC
README
一款捕捉系统信号安全退出进程的任务
用法
$class = new class extends \HongXunPan\Signal\SignalJob { // protected $signals = [1]; public function doJob() { sleep(3); } }; $class->setStdLogStatus(true); $class->loop();
输出
[root@7ee7e1d16bd9 php-signal]## php test.php pid = 11628 20221017 01:49:44 loop start... 20221017 01:49:47 loop end 20221017 01:49:47 loop start... 20221017 01:49:50 loop end 20221017 01:49:50 loop start... 20221017 01:49:53 loop end 20221017 01:49:53 loop start... 20221017 01:49:56 loop end 20221017 01:49:56 loop start... 20221017 01:49:59 loop end 20221017 01:49:59 loop start... ^C20221017 01:49:59 receive signal: 2 //when receive signal from linux 20221017 01:49:59 loop end 20221017 01:49:59 safe quit after job done [root@7ee7e1d16bd9 php-signal]##
- 其他结束进程方法
kill -int pid
详细见kill -l
扩展
- 重写
protected $signals;
以实现接收指定信号 - 重写
function doJob()
实现常驻进程任务逻辑
更多
实现守护进程的方法
- supervisor
- systemd