如何在Windows命令提示符中终止Python进程?

4
当我的Python脚本运行完代码后,我希望能够仅通过Windows命令行关闭与Python相关的所有内容并结束Python脚本。
即使我在代码结尾处包含了exit(),执行完所有代码后Python窗口仍然保持打开状态。
我已经尝试过:
taskkill /IM py.exe

错误: 未找到进程“py.exe”。
taskkill /IM myScript.exe

错误: 未找到进程"myScript.exe"。

我在任务管理器中找不到任何Python进程。

有人能帮忙吗?

enter image description here


它是2.x版本的python.exe或3.x版本的python3.exe,而不是py.exe - Smankusors
在命令提示符中未找到python.exe和python3.exe进程。 - dam1ne
哎?你是怎么运行这个脚本的? - Smankusors
我从文件夹中双击脚本。 - dam1ne
可能是Python已经退出,但命令提示符卡住了。 - Smankusors
尝试更改“打开方式”,将实际路径更改为您系统上安装Python的路径。 - Smankusors
6个回答

3
taskkill /IM python.exe /F

这将强制终止Python。

3

使用进程ID或图像文件名来结束一个任务/进程。

taskkill /IM executablename

OR

首先检测进程是否在运行,然后终止它。

tasklist | find /i "executablename.exe" && taskkill /im "executablename.exe" /F || echo process "executablename.exe" not running


2
只需要制作批处理文件并运行它即可。
@echo off
FOR /F "tokens=2 delims= " %%P IN ('tasklist /FO Table /M /NH ^| Find /i "Py"') DO (TASKKILL /PID %%P /F)

1

通过在Python IDE中添加代码解决了问题:

import os
os.system("taskkill /im py.exe")

这是一个相当“hacky”的解决方案,但如果它适用于你,将你的解决方案标记为答案? - Smankusors
我非常怀疑Python进程已经终止,这就是为什么CMD的taskkill无法起作用的原因。在这种情况下,我认为没有必要使用os.system强制终止它,因为它基本上是与Windows交互来信号终止py.exe的任务。 - Clint

0

your script.py替换为您的脚本,并在cmd上运行此代码。

wmic process where "commandline like '%%your script.py%%'" delete

0

甚至可以尝试这个:

@echo off
tasklist /fi "IMAGENAME eq name.exe" && (taskill /Im "name.exe")

您可以添加可选的/F标志,表示强制停止。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接