MAC*_*CEE 60 python termination execution terminate
我在IDLE中编写了一个程序来标记文本文件,它开始标记349个文本文件!我怎么能阻止它?如何停止正在运行的Python程序?
Ami*_*mir 53
如果exit()
在代码中使用该功能,也可以执行此操作.更理想的是,你可以做到sys.exit()
.sys.exit()
即使您通过multiprocessing
包并行运行,也可能会终止Python .
Chr*_*ian 42
要停止您的程序,只需按Control + C.
小智 33
使用键盘停止 python 脚本:Ctrl+C
使用代码停止它(这在 Python 3 上对我有用):
import os
os._exit(0)
Run Code Online (Sandbox Code Playgroud)
您还可以使用:
import sys
sys.exit()
Run Code Online (Sandbox Code Playgroud)
或者:
exit()
Run Code Online (Sandbox Code Playgroud)
或者:
raise SystemExit
Run Code Online (Sandbox Code Playgroud)
Dan*_*den 22
如果您的程序在交互式控制台上运行,则按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>
简称)发送SIGKILL
并立即停止进程.
在Windows上,您没有Unix系统的过程信号,但您可以使用该TerminateProcess
功能强制终止正在运行的进程.交互式地,最简单的方法是打开任务管理器,找到python.exe
与您的程序对应的进程,然后单击"结束进程"按钮.您也可以将该taskkill
命令用于类似目的.
Sco*_* P. 21
Ctrl-Break 它比Ctrl-C更强大
wpp*_*wpp 20
Ctrl + C
.exit()
,你可以做到.pkill -f name-of-the-python-script
.Cha*_*a07 17
要停止正在运行的程序,请使用CTRL + C终止该过程。
要在python中以编程方式处理它,请导入sys
模块并sys.exit()
在要终止程序的位置使用。
import sys
sys.exit()
Run Code Online (Sandbox Code Playgroud)