如果进程正在运行,如何使用Python检入Mac OSX

时间:2014-04-10 10:06:40

标签: python macos process activity-monitor

我在mac osx 10.9上使用python 2.7。

我想检查进程是否正在运行。 我查看了这个Q&A,但结果不合适。

我想检查一下特定名称的任何进程是否正在运行

3 个答案:

答案 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