如何停止/终止 Python 脚本运行?

我用 IDLE 编写了一个程序来标记文本文件,它开始标记349个文本文件!我怎么才能阻止它?如何停止正在运行的 Python 程序?

909733 次浏览

要停止您的程序,只需按 Control + C

您还可以使用 Activity Monitor来停止 py 进程

如果在代码中使用 exit()函数,也可以这样做。更理想的情况是,你可以做 sys.exit()sys.exit(),即使您通过 multiprocessing包并行运行,也许吧也会终止 Python。

注意: 为了使用 sys.exit(),您必须导入它: import sys

  • 要停止一个 python 脚本,只需按 Ctrl + C
  • 在使用 exit()的脚本中,您可以执行此操作。
  • 您可以在一个交互式脚本中进行,只需退出即可。
  • 你可以使用 pkill -f name-of-the-python-script

它比 Ctrl-C更强大

要停止您的程序,只需按 CTRL + D

exit()

如果您被困在 python shell 中,Ctrl + Z应该可以做到这一点。请记住,脚本的实例可以在后台继续运行,因此在 linux 下必须终止相应的进程。

若要停止正在运行的程序,请使用 Ctrl + C来终止进程。

要在 python 中以编程方式处理它,请导入 sys模块并在要终止程序的位置使用 sys.exit()

import sys
sys.exit()

Ctrl + Alt + Delete,任务管理器将弹出。找到正在运行的 Python 命令,右键单击它,然后单击 Stop 或 Kill。

当我在 Linux 终端上运行一个 python 脚本时,CTRL + \可以工作(而不是 CRTL + CD)

如果程序在交互式控制台上运行,按 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 (进程ID)并通过 PID 杀死它。使用类似 ps aux | grep python的工具查找正在运行的 Python 进程,然后使用 kill <pid>发送 SIGTERM信号。

Unix 上的 kill命令默认发送 SIGTERM,Python 程序可以使用 signal模块为 SIGTERM安装信号处理程序。理论上,SIGTERM的任何信号处理程序都应该优雅地关闭进程。但是有时候如果进程被阻塞(例如,在不可中断的 IO 睡眠状态中被阻塞) ,SIGTERM信号就没有效果,因为进程甚至不能唤醒来处理它。

要强制终止不响应信号的进程,需要发送 SIGKILL信号,有时称为 kill -9,因为 9SIGKILL常量的数值。在命令行中,可以使用 kill -KILL <pid>(简称 kill -9 <pid>)发送 SIGKILL并立即停止正在运行的进程。

在 Windows 上,您没有进程信号的 Unix 系统,但是您可以使用 TerminateProcess函数强制终止正在运行的进程。交互式地,最简单的方法是打开任务管理器,找到与您的程序对应的 python.exe进程,然后单击“ End Process”按钮。您也可以为类似的目的使用 taskkill命令。

Control + D对我来说在 Windows10上是可行的,而且,把 exit()放在最后也是可行的。

如果使用 Spyder,使用 CTRL + .,将重新启动内核,并停止程序。

使用键盘停止 python 脚本: Ctrl + C

要使用代码停止它(我在 Python 3中就是这样做的) :

import os
os._exit(0)

你亦可使用:

import sys
sys.exit()

或:

exit()

或:

raise SystemExit

如果你在木星笔记本中,exit ()会杀死内核,所以这不是一个好主意。raise命令将停止程序。

Windows 解决方案: Control + C

Macbook 解决方案: Control (^) + C

另一种方法是打开一个终端,键入 top,写下要终止的进程的 PID,然后在终端上键入: kill -9 <pid>

尝试使用:

Ctrl + Fn + S

或者

Ctrl + Fn + B

如果您正在编写一个脚本来处理349个文件,但是想用更少的文件进行测试,那么只需在列表中写入一个不存在的单词,比如“ stop”,这将导致异常形式的停止。这样可以避免像使用 exit()quit()时是否要终止进程这样的对话