我想如果这个过程是基于进程名(test.py)上运行的检查,然后退出如何检查进程在python中运行(在linux中)?
l = commands.getstatusoutput("ps aux |grep 'python2.7'| grep
'test.py' | grep -v 'grep' | wc -l")
if int(l[1]) == 1:
pid = commands.getstatusoutput("ps -ef |grep 'python2.7'| grep 'test.py ' |awk '{print $2}'")
print "the process 'test.py ' have running ,the pid is :"+str(pid[1])
sys.exit(0)
else:
print "not running"
输出:
[email protected]:/test$ python2.7 test.py
the process 'test.py ' have running ,the pid is :26517
26542
然后我尝试检查
$ ps aux | grep agg_test
georgetovrea 25181 0.0 0.0 10944 932 pts/9 S+ 23:26 0:00 grep --color=auto test
进程没有运行,我想检查进程(test.py)是否有运行,然后退出, 但它总是打印正在运行的进程,
如何检查进程是否正在运行?有什么建议么?谢谢你的帮助。
+0
是命令你”从Python内部重新运行报告任何不同,如果你只是在shell中运行该命令? –
+0
尼克,当运行test.py时,输出是“进程'test.py'正在运行,pid是:26517 26542” –
+0
[this]的可能重复(https://stackoverflow.com/questions/568271 /如何做检查,IF-有-存在-A-工艺上带有一个赋予-PID功能于蟒蛇)。 –