如何在php(ubuntu)上模拟on_script_close,就像.net on_form_close行为一样?

时间:2013-05-23 17:28:31

标签: php linux ubuntu

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

我使用监视器脚本来确保此工作程序脚本确实正在运行。

监视器脚本在crontab上运行。

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

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

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

谢谢

1 个答案:

答案 0 :(得分:1)

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

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

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

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

请参阅pcntl_signal