我有一个简单的php worker脚本,它在后台运行。
我使用监视器脚本来确保此工作程序脚本确实正在运行。
监视器脚本在crontab上运行。
我想不时地使用linux kill重启工作进程。
然而,这会产生一个问题,即如果突然停止,工作者脚本可能会丢失当前正在处理的数据。
例如,在.net中,使用winforms,你可以简单地实现on_form_close,我如何用php(linux,ubuntu)完成同样的工作?谢谢
答案 0 :(得分:1)
PHP的register_shutdown_function允许您注册在脚本终止之前运行的函数:
register_shutdown_function(function () {
// ...
});
由于您使用信号来终止进程,因此您应该安装信号处理程序:
pcntl_signal(SIGQUIT, function () {
// ...
});
请参阅pcntl_signal