我想如果這個過程是基於進程名(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)是否有運行,然後退出, 但它總是打印正在運行的進程,
如何檢查進程是否正在運行?有什麼建議麼?謝謝你的幫助。
是命令你」從Python內部重新運行報告任何不同,如果你只是在shell中運行該命令? –
尼克,當運行test.py時,輸出是「進程'test.py'正在運行,pid是:26517 26542」 – georgetovrea
[this]的可能重複(https://stackoverflow.com/questions/568271 /如何做檢查,IF-有-存在-A-工藝上帶有一個賦予-PID功能於蟒蛇)。 – IsaacS