如何使用shell_exec从其路径中查找进程 ID


How to find a process ID from its path using shell_exec

我需要为用户提供一种停止其 cron 任务的方法,以便它可以在 5 分钟周期内重新启动。

我想我需要使用shell_exec来恢复进程,然后杀死特定的进程。我将能够将此过程与服务器上运行的其他进程区分开来的唯一方法是路径,即 php /home/sconmod/public_html/**URN**/Includes/System/CronTask.php .

有谁知道我可以通过匹配路径来获取进程的进程 ID 的方法?

谢谢。

处理此问题的常用方法是PID文件。在作业启动时将 cron 作业的进程 ID 写入已知位置的文件,并在作业结束时删除该文件。如果需要在进程结束之前终止进程,只需从文件中读取 PID 并终止进程即可。您需要在 cron 作业中包含一些信号处理,以便它们正确清理其 PID 文件,但您不希望仅仅因为有人留下过时的 PID 文件而将 SIGTERM 发送到错误的进程。