【问题标题】:Killing a process and PID recycling杀死一个进程和 PID 回收
【发布时间】:2014-02-18 06:46:33
【问题描述】:

我有一个基于 Web 的 PHP 应用程序,可以触发服务器上的后台进程。该过程通过 Web UI 启动,该 UI 通过数据库表和定时 AJAX 更新保持自身更新。

我不想给用户提供取消流程的方法。所以我让进程将其 PID 保存在一个文件中。如果文件存在,则 UI 假定进程正在运行并提供中止功能。然后它将尝试终止该进程。

我担心的是,如果后台进程出现致命错误,PID 文件可能不会被删除。 UI 仍将假定该进程正在运行,并且如果用户杀死该 PID,则存储在文件中的 PID 不可能被系统回收,并且用户有可能杀死一个随机的(可能很重要)服务器上的进程。

我们将不胜感激。

谢谢

罗素

【问题讨论】:

  • 为什么不解析ps 命令的输出而不是创建文件? (假设您的服务器不是基于 Windows 的)。

标签: php process pid


【解决方案1】:

尝试使用posix_kill。另请参阅proc_terminate

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-29
    • 1970-01-01
    • 2014-06-07
    • 1970-01-01
    • 1970-01-01
    • 2020-03-02
    • 2014-11-24
    相关资源
    最近更新 更多