我在 IDLE 中编写了一个程序来标记文本文件,它开始标记 349 个文本文件!我怎样才能阻止它?如何停止正在运行的 Python 程序?
17 回答
如果您exit()在代码中使用该函数,也可以这样做。更理想的是,您可以这样做sys.exit()。即使您通过包并行运行sys.exit(),它也可能终止 Python。multiprocessing
注意:为了使用sys.exit(),您必须导入它:import sys
To stop your program, just press Control + C.
如果您的程序在交互式控制台上运行,按CTRL+将在主线程上C引发异常。KeyboardInterrupt
如果您的 Python 程序没有捕获它,KeyboardInterrupt则会导致 Python 退出。但是,except KeyboardInterrupt:块或类似 bare 的东西except:会阻止此机制实际停止脚本运行。
有时如果KeyboardInterrupt不工作,您可以发送SIGBREAK信号代替;在 Windows 上,CTRL+Pause/Break可以由解释器处理而不产生可捕获的KeyboardInterrupt异常。
但是,这些机制主要仅在 Python 解释器正在运行并响应操作系统事件时才起作用。如果 Python 解释器由于某种原因没有响应,最有效的方法是终止运行解释器的整个操作系统进程。其机制因操作系统而异。
在 Unix 风格的 shell 环境中,您可以按CTRL+挂起当前控制控制台的任何进程Z。一旦您返回 shell 提示符,您可以使用列出挂起的作业,并且可以使用 终止第一个挂起的作业。(如果您想重新开始运行,您可以使用 继续在前台执行作业;请阅读您的 shell 的作业控制手册以获取更多信息。)jobskill %1fg %1
或者,在 Unix 或类 Unix 环境中,您可以找到 Python 进程的 PID(进程标识符)并通过 PID 将其杀死。使用类似ps aux | grep python查找哪些 Python 进程正在运行,然后用于kill <pid>发送SIGTERM信号。
killUnix 上的命令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命令用于类似目的。
- 要停止 python 脚本,只需按Ctrl+ C。
- 在带有 的脚本中
exit(),您可以执行此操作。 - 您可以在交互式脚本中执行此操作,只需退出即可。
- 您可以使用
pkill -f name-of-the-python-script.
使用键盘停止 python 脚本:Ctrl+C
使用代码停止它(这在 Python 3 上对我有用):
import os
os._exit(0)
您还可以使用:
import sys
sys.exit()
或者:
exit()
或者:
raise SystemExit
要停止正在运行的程序,请使用Ctrl+C终止该进程。
要在 python 中以编程方式处理它,请导入sys模块并使用sys.exit()要终止程序的位置。
import sys
sys.exit()
Ctrl-Break它比Ctrl-更强大C
当我在 linux 终端上运行 python 脚本时,CTRL+\工作。(不是CRTL+C或D)
Ctrl+Z应该这样做,如果你被困在 python shell 中。请记住,脚本的实例可以继续在后台运行,因此在 linux 下您必须终止相应的进程。
如果您在 Jupyter Notebook 中,exit() 将杀死内核,所以这不是一个好主意。raise命令将停止程序。
要停止您的程序,只需按CTRL+D
或exit()。
Control+D在 Windows 10 上对我有用。此外,放在exit()最后也可以。
您也可以使用Activity Monitor来停止 py 进程
Windows 解决方案:Control + C.
Macbook 解决方案:Control (^) + C.
另一种方法是打开一个终端,输入top,写下PID你想杀死的进程,然后在终端上输入:kill -9 <pid>
如果您正在使用 Spyder,请使用CTRL+. 并且您将重新启动内核,同时您将停止程序。
按Ctrl+ Alt+Delete和任务管理器将弹出。找到正在运行的 Python 命令,右键单击它,然后单击停止或终止。
尝试使用:
Ctrl+ Fn+S
或者
Ctrl+ Fn+B