我需要为我的用户提供一种方法来停止他们的cron任务,这样它就可以在5分钟的周期中重新启动。
我想我需要使用shell_exec来恢复进程,然后终止特定进程。我唯一能够将此进程与服务器上运行的其他进程区分开来的方法是路径,即php /home/sconmod/public_html/**URN**/Includes/System/CronTask.php
有没有人知道如何通过匹配路径来获取进程的进程ID?
谢谢。

最佳答案

处理这个问题的通常方法是使用一个pid文件。当作业启动时,将cron作业的进程id写入已知位置的文件,并在作业结束时删除该文件。如果需要在进程结束前终止它,只需从文件中读取pid并终止该进程。您将希望在cron作业中包含一些信号处理,以便它们正确地清理它们的pid文件,但是,您不希望仅仅因为有人留下了一个陈旧的pid文件就向错误的进程发送sigterm。

关于php - 如何使用shell_exec从其路径中查找进程ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5998355/

10-16 20:42