如何在不杀死父进程的情况下终止所有其他正在运行的python进程

时间:2014-12-23 17:35:37

标签: python python-3.x

我想在不杀死当前运行脚本的情况下停止所有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()

2 个答案:

答案 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()
相关问题