检查Python作业是否正在使用PHP运行

时间:2017-07-25 17:15:16

标签: php python raspberry-pi

我有一个python脚本,每天通过CRON作业调用两次以触发循环运行的警报,并在按下该按钮时按下物理按钮并调用destroy函数终止。

到目前为止一切顺利。

现在,我想通过PHP检查该脚本是否正在运行 - 所以在按下按钮之前,但在通过CRON调用之后。

我该怎么做?

Based on this question - 我尝试了以下内容:

exec("jobs", $pids);
if(!empty($pids)) {
    print_r($pids);
}

但它似乎没有返回任何价值。从终端调用jobs按预期工作,并在使用python3 alarm.py &直接调用脚本时将作业列为正在运行。

使用exec("ps -A | grep -i $processName | grep -v grep", $pids);我觉得自己无法工作,因为进程ID可以更改,直到脚本运行才能知道。

1 个答案:

答案 0 :(得分:1)

使用pgrep

pgrep -f 'python scriptname.py ...'
可以使用

-f指定python进程的完整命令行,以避免与并行运行的多个python进程冲突。