0

我有一个在后台运行的简单 php worker 脚本。

我使用一个监控脚本来确保这个工作脚本确实在运行。

监控脚本在 crontab 上运行。

我想时不时地重新启动工作进程,使用 linux kill。

但是,这会产生一个问题,即如果突然停止,工作脚本可能会丢失当前正在处理的数据。

例如在.net中,使用winforms,你可以简单地实现on_form_close,我如何用php(linux,ubuntu)完成同样的事情?

谢谢

4

1 回答 1

1

PHP 的register_shutdown_function允许您注册函数以在脚本终止之前运行:

register_shutdown_function(function () {
   // ...
});

由于您使用信号来终止进程,因此您应该安装一个信号处理程序:

pcntl_signal(SIGQUIT, function () {
    // ...
});

pcntl_signal

于 2013-05-23T17:33:45.310 回答