我想在不杀死当前运行脚本的情况下停止所有python进程。这是我到目前为止编写的代码。
import psutil
import os
for proc in psutil.process_iter():
pinfo = proc.as_dict(attrs=['pid', 'name'])
procname = str(pinfo['name'])
procpid = str(pinfo['pid'])
if "python" in procname:
print("Stopped Python Process ", proc)
proc.kill()
答案 0 :(得分:4)
从当前的
更改if
的条件
if "python" in procname:
到
if "python" in procname and procpid != str(os.getpid()):
答案 1 :(得分:1)
你需要得到你的程序有哪些pid。并检查您迭代的所有元素是否都没有相同的pid。
import psutil
import os
this_proc = os.getpid()
for proc in psutil.process_iter():
procd = proc.as_dict(attrs=['pid', 'name'])
if "python" in str(procd['name']) and procd['pid'] != this_proc:
proc.kill()