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