Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在不杀死父进程的情况下杀死所有其他正在运行的python进程_Python_Python 3.x - Fatal编程技术网

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

如何在不杀死父进程的情况下杀死所有其他正在运行的python进程,python,python-3.x,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:

我希望停止所有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()

如果,从当前状态更改您的

if "python" in procname:


您需要获得程序具有的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()

@ChuckBoyd,接受答案是一种很好的做法,而不仅仅是表示感谢:-)
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()