如果CLI会话在PHP中结束,有没有办法执行代码?

时间:2014-02-04 18:44:00

标签: php command-line-interface

我遇到了一个小问题

如果在CLI上运行的PHP脚本结束,是否有办法执行部分代码? 使用CTRL + C或关闭命令行窗口本身。

脚本在关闭之前仍然会运行

我想到了__destruct方法,但我并没有真正使用类

任何想法都表示赞赏。

1 个答案:

答案 0 :(得分:1)

你可以查看register_shutdown_function

http://www.php.net/manual/en/function.register-shutdown-function.php

从手册中说 注意: 如果使用SIGTERM或SIGKILL信号终止进程,则不会执行关闭功能。虽然您无法拦截SIGKILL,但您可以使用pcntl_signal()为SIGTERM安装处理程序,该处理程序使用exit()来干净地结束。

如果register_shutdown_function不起作用,那么你很可能会做一些事情 http://www.php.net/manual/en/function.pcntl-signal.php