使用python subprocess.call来杀死所有正在运行的python文件

lim*_*lim 0 python subprocess kill

我正试图(根据需要)杀死目前正在运行的所有python进程.
我正在使用此命令:

from subprocess import call  
call('pkill python', shell=True)  
print 'Killed them all!'
Run Code Online (Sandbox Code Playgroud)

但是,当然 - 我的程序也是一个python程序,所以最终,它在调用'call'后没有到达打印行.

我可以做些什么来避免我的程序同时杀死自己,同时杀死所有其他python进程?
谢谢.

ber*_*eal 6

您可能想尝试跨平台的psutil库:

import os
import psutil

mypid = os.getpid()
for proc in psutil.process_iter():
    if proc.name == 'python' and proc.pid != mypid:
        proc.kill()
Run Code Online (Sandbox Code Playgroud)