【发布时间】:2014-02-18 06:46:33
【问题描述】:
我有一个基于 Web 的 PHP 应用程序,可以触发服务器上的后台进程。该过程通过 Web UI 启动,该 UI 通过数据库表和定时 AJAX 更新保持自身更新。
我不想给用户提供取消流程的方法。所以我让进程将其 PID 保存在一个文件中。如果文件存在,则 UI 假定进程正在运行并提供中止功能。然后它将尝试终止该进程。
我担心的是,如果后台进程出现致命错误,PID 文件可能不会被删除。 UI 仍将假定该进程正在运行,并且如果用户杀死该 PID,则存储在文件中的 PID 不可能被系统回收,并且用户有可能杀死一个随机的(可能很重要)服务器上的进程。
我们将不胜感激。
谢谢
罗素
【问题讨论】:
-
为什么不解析
ps命令的输出而不是创建文件? (假设您的服务器不是基于 Windows 的)。