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我為了測試目的而提前啟動的。
添加回答
舉報