在PHP中捕获后台进程错误?

时间:2010-08-30 08:27:30

标签: php exec

如何在PHP中捕获后台进程错误?我正在运行一些命令来转换PDF,但有时这个过程会被杀死。无论如何都要监控过程是否已成功完成?

3 个答案:

答案 0 :(得分:1)

您可以使用像flaging这样的系统。在启动每个后台进程时,为这些进程保留一个单独的flag_processId = 0,并成功完成该进程更新,标记为1.如果该进程在其间发生任何错误,并且如果它是可删除的,则将其更新为未完成标志(例如flag = 2)。

通过这种方式,您可以动态地跟踪该后台进程。

或者为了检测查杀原因,您还可以使用日志记录来记录文件。

在该过程中的每个步骤之后,在日志文件中记录该步骤的完成,这样就可以获得您的进程被杀死的位置。

答案 1 :(得分:1)

将后台进程包含在监视它的脚本中。

  • 该脚本启动PDF创建者。
  • 完成PDF创建器后,脚本会检查输出或退出代码。
  • 如果PDF创建者崩溃或被杀,脚本仍然可以采取一些措施。

答案 2 :(得分:0)

  1. 查看服务器错误日志。
  2. 查看脚本所在文件夹中的error_log文件。
  3. 尝试制作小型PDF。大多数时候,这些PDF制造商都在大文件/数据上崩溃。