尝试这个。如果返回进程ID,则表示您的进程正在运行。请使用您的进程名称代替 firefox
。
# Python2
import commands
commands.getoutput('pgrep firefox')
由于在Python 3x中不再使用命令模块,因此我们可以在这里使用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
。使用模块psutil。例如:
import psutil
# ...
if pid in psutil.get_pid_list():
print(pid, "is running")
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