【发布时间】:2014-04-10 10:06:39
【问题描述】:
【问题讨论】:
标签: python macos process activity-monitor
【问题讨论】:
标签: python macos process activity-monitor
试试这个。如果它返回一个进程 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。
【讨论】:
subprocess 模块。
使用模块psutil。例如:
import psutil
...
if pid in psutil.get_pid_list():
print pid, "is running"
编辑:您可以像这样获取所有正在运行的进程的 pid 和名称:
for p in psutil.process_iter():
if p.name == 'firefox':
print "firefox is running"
break
【讨论】:
我只是在尝试上面的代码,但它对我使用 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
【讨论】: