如何在Mac OSX中用Python检查进程是否正在运行
3 个回答
1
我刚刚试了上面的代码,但在使用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
4
使用一个叫做 psutil 的模块。比如说:
import psutil
# ...
if pid in psutil.get_pid_list():
print(pid, "is running")
补充说明:你可以这样获取所有正在运行的程序的进程ID和名称:
for p in psutil.process_iter():
if p.name == 'firefox':
print("firefox is running")
break
7
试试这个。如果它返回一个进程 ID,那说明这个进程正在运行。用你的进程名称替换掉 firefox
。
# Python2
import commands
commands.getoutput('pgrep firefox')
因为在 Python 3.x 版本中不再有 commands 模块,所以我们可以使用 subprocess
模块来获取进程 ID。
# Python3
import subprocess
process = subprocess.Popen('pgrep firefox', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
my_pid, err = process.communicate()
这里的 my_pid
就是进程的 id
。