1 回答

TA贡献1831条经验 获得超4个赞
您应该能够使用完全相同的方法杀死 python 进程。当然:小心!如果我要在我的机器上执行此操作,我会杀死一些正在为我做重要工作的进程:)
找出你的 python 解释器是如何被调用的。我假设它是“python3.exe”或“python.exe”。在我的机器上它是'python3'。
请注意,您的 python 脚本不会杀死自己。为此,您可以检查杀手脚本的 pid 是什么。以下示例适用于我。出于显而易见的原因,我已将proc.kill()声明替换为 a 。print
import psutil
import os
my_pid = os.getpid()
for proc in psutil.process_iter():
try:
# Get process name & pid from process object.
processName = proc.name()
processID = proc.pid
if proc.pid == my_pid:
print("I am not suicidal")
continue
if processName.startswith("python3"): # adapt this line to your needs
print(f"I will kill {processName}[{processID}] : {''.join(proc.cmdline())})")
# proc.kill()
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess) as e:
print(e)
输出:
I will kill python3[11205] : python3-cimport time; time.sleep(1000))
I am not suicidal
I will kill python3[15745] : <another python job running on my machine>
刚刚做的 Python 进程是time.sleep我为了测试目的而提前启动的。
添加回答
举报