我在IDLE中编写了一个程序来标记文本文件,它开始标记349个文本文件!我怎么能阻止它?如何停止正在运行的Python程序?
要停止程序,只需按Control + C.
要停止程序,只需按CTRL + D.
或者exit()
。
按Ctrl + Alt + Delete,将弹出任务管理器。找到正在运行的Python命令,右键单击它,然后单击“停止”或“终止”。
如果您正在使用Spyder,请使用CTRL +。 (DOT)你将重启内核,你也将停止程序。
Control + D适用于Windows 10.另外,将exit()
放在最后也可以。
以编程方式,您可以使用此:
while True:
pass
如果在代码中使用exit()
函数,也可以执行此操作。更理想的是,你可以做sys.exit()
。即使您通过sys.exit()
包并行运行,multiprocessing
也可能会终止Python。
Ctrl + C
。exit()
的脚本中,你可以做到。pkill -f name-of-the-python-script
。Ctrl-Break它比Ctrl-C更强大
如果您的程序在交互式控制台上运行,按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
信号。
Unix上的kill
命令默认发送SIGTERM
,Python程序可以使用SIGTERM
模块为signal
安装信号处理程序。从理论上讲,SIGTERM
的任何信号处理程序都应该优雅地关闭进程。但有时如果进程卡住(例如,阻塞在不间断的IO睡眠状态),SIGTERM
信号没有效果,因为进程甚至无法唤醒来处理它。
要强制杀死不响应信号的进程,您需要发送SIGKILL
信号,有时也称为kill -9
,因为9
是SIGKILL
常量的数值。从命令行,您可以使用kill -KILL <pid>
(或简称kill -9 <pid>
)发送SIGKILL
并立即停止进程运行。
在Windows上,您没有Unix系统的过程信号,但您可以使用TerminateProcess
函数强制终止正在运行的进程。交互式地,最简单的方法是打开任务管理器,找到与您的程序对应的python.exe
进程,然后单击“结束进程”按钮。您也可以将taskkill
命令用于类似目的。
要停止正在运行的程序:使用CTRL + C终止进程。
要在python中以编程方式处理它:导入sys模块并使用sys.exit来终止程序。
import sys
sys.exit()
当我在Linux终端上运行python脚本时,CTRL + \工作。 (不是CRTL + C或D)
你也可以使用Activity Monitor
来阻止py进程
如果你被python shell捕获,Ctrl + Z应该这样做。请记住,脚本的实例可以继续在后台运行,因此在linux下你必须杀死相应的进程。