问题:如何停止/终止python脚本的运行?
我用IDLE编写了一个程序来标记文本文件,然后开始标记349个文本文件!我该如何阻止它?如何停止正在运行的Python程序?
回答 0
要停止程序,只需按Control + C。
回答 1
如果exit()
在代码中使用该函数,也可以执行此操作。更理想的是,您可以这样做sys.exit()
。即使您通过软件包并行运行程序sys.exit()
,也可能终止Python multiprocessing
。
注意:为了使用sys.exit()
,您必须将其导入:import sys
回答 2
如果您的程序在交互式控制台上运行,则按CTRL+C将KeyboardInterrupt
在主线程上引发异常。
如果您的Python程序没有捕获到它,KeyboardInterrupt
则会导致Python退出。但是,一个except KeyboardInterrupt:
块或类似裸露的东西except:
将阻止此机制实际停止脚本的运行。
有时,如果KeyboardInterrupt
无法正常工作,您可以发送SIGBREAK
信号。在Windows上,解释器可以处理CTRL+Pause/Break而不生成可捕获的KeyboardInterrupt
异常。
但是,这些机制主要仅在Python解释器正在运行并响应操作系统事件时才起作用。如果Python解释器由于某种原因没有响应,则最有效的方法是终止运行解释器的整个操作系统进程。其机制因操作系统而异。
在Unix风格的shell环境,您可以按CTRL+Z来中止任何进程当前控制的控制台。返回shell提示后,您可以使用jobs
它列出挂起的作业,并可以使用杀死第一个挂起的作业kill %1
。(如果要重新开始运行,可以使用fg %1
;在前台继续执行作业;有关更多信息,请阅读Shell的作业控制手册。)
另外,在Unix或类似Unix的环境中,您可以找到Python进程的PID(进程标识符)并用PID杀死它。使用类似的方法ps aux | grep python
来查找正在运行的Python进程,然后使用kill <pid>
发送SIGTERM
信号。
kill
Unix上的命令SIGTERM
默认发送,Python程序可以安装信号处理程序以SIGTERM
使用该signal
模块。从理论上讲,任何用于的信号处理程序SIGTERM
都应正常关闭进程。但是有时,如果进程卡住了(例如,在不间断的IO睡眠状态下被阻塞),则SIGTERM
信号无效,因为该进程甚至无法唤醒以处理该信号。
为了强行终止不响应信号的进程,您需要发送SIGKILL
信号,有时称为,kill -9
因为它9
是SIGKILL
常量的数值。在命令行中,您可以使用kill -KILL <pid>
(或kill -9 <pid>
简称)发送aSIGKILL
并立即停止该进程运行。
在Windows上,您没有Unix的进程信号系统,但是您可以使用TerminateProcess
函数强制终止正在运行的进程。以交互方式,最简单的方法是打开任务管理器,找到python.exe
与您的程序相对应的进程,然后单击“结束进程”按钮。您也可以将taskkill
命令用于类似目的。
回答 3
- 要停止python脚本,只需按
Ctrl + C
。 - 在脚本中
exit()
,您可以执行此操作。 - 您可以在退出后的交互式脚本中进行操作。
- 您可以使用
pkill -f name-of-the-python-script
。
回答 4
Ctrl-Break 比Ctrl-C更强大
回答 5
要停止正在运行的程序,请使用Ctrl+C终止该过程。
要在python中以编程方式处理它,请导入sys
模块并sys.exit()
在要终止程序的位置使用。
import sys
sys.exit()
回答 6
要使用键盘停止python脚本,请执行以下操作:Ctrl
+C
使用代码停止它(这在Python 3上对我有用):
import os
os._exit(0)
您还可以使用:
import sys
sys.exit()
要么:
exit()
要么:
raise SystemExit
回答 7
如果您陷入python shell中,请按Ctrl +Z。请记住,脚本实例可以在后台继续运行,因此在Linux下,您必须终止相应的进程。
回答 8
当我在Linux终端上运行python脚本时,CTRL + \起作用。(不是CRTL + C或D)
回答 9
Control+D在Windows 10上对我有效。此外,放在exit()
末尾也适用。
回答 10
如果您在Jupyter Notebook中,则exit()会杀死内核,所以这不是一个好主意。raise
命令将停止程序。
回答 11
您还可以使用Activity Monitor
停止py进程
回答 12
要停止程序,只需按CTRL+D
或exit()
。
回答 13
按Ctrl+ Alt+ Delete,将弹出任务管理器。找到正在运行的Python命令,右键单击它,然后单击“停止”或“杀死”。
回答 14
如果您正在使用Spyder,请使用CTRL +。 (DOT),您将重新启动内核,也将停止程序。
回答 15
Windows解决方案:Control + C。
Macbook解决方案:Control (^) + C。
另一种方法是打开一个终端,键入top
,记下PID
您想杀死的进程,然后在终端上键入:kill -9 <pid>