我有一个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可以更改,直到脚本运行才能知道。
答案 0 :(得分:1)
使用pgrep
:
pgrep -f 'python scriptname.py ...'
可以使用 -f
指定python进程的完整命令行,以避免与并行运行的多个python进程冲突。