答案 0 :(得分:5)
试试这个。如果它返回进程ID,那么您正在运行该进程。使用您的流程名称而不是firefox
。
import commands
commands.getoutput('pgrep firefox')
由于命令模块不再在python 3x中,我们可以在此处使用subprocess
模块接收进程ID。
import subprocess
process = subprocess.Popen('pgrep firefox', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
my_pid, err = process.communicate()
这里my_pid将是进程ID。
答案 1 :(得分:3)
使用模块psutil。例如:
import psutil
...
if pid in psutil.get_pid_list():
print pid, "is running"
编辑:你可以获得所有正在运行的进程的pids和名称:
for p in psutil.process_iter():
if p.name == 'firefox':
print "firefox is running"
break
答案 2 :(得分:0)
我只是尝试上面的代码而且它对我来说不起作用使用python 2.7没试过python上的代码3.发布更新的代码,它可能会帮助某人
for p in psutil.process_iter(): #iterate through all running processes
if p.name() == 'firefox':
print "firefox is running"
break