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

时间:2013-11-05 04:46:46

标签: python execution terminate termination

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

18 个答案:

答案 0 :(得分:30)

如果您在代码中使用exit()函数,也可以执行此操作。更理想的是,您可以sys.exit()。即使您通过sys.exit()包并行运行内容,multiprocessing也可能会终止Python。

答案 1 :(得分:26)

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

答案 2 :(得分:17)

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

答案 3 :(得分:16)

Ctrl-Break 它比 Ctrl-C

更强大

答案 4 :(得分:14)

如果您的程序在交互式控制台上运行,请按 CTRL + C 将在主线程上引发KeyboardInterrupt异常。

如果您的Python程序没有捕获到它,则KeyboardInterrupt将导致Python退出。但是,except KeyboardInterrupt:块或类似except:的内容将阻止此机制实际停止脚本的运行。

有时候KeyboardInterrupt不能正常工作,您可以发送SIGBREAK信号;在Windows上,解释器可以处理 CTRL + 暂停/中断,而不会产生可捕获的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是{ {1}}常量。在命令行中,您可以使用SIGKILL(或简称为kill -KILL <pid>)发送kill -9 <pid>并立即停止进程运行。

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

答案 5 :(得分:6)

要使用键盘停止python脚本,请执行以下操作:Ctrl + C

要使用代码停止运行(这在Python 3上对我有用):

import os
os._exit(0)

您还可以使用:

import sys
sys.exit()

或:

exit()

或:

raise SystemExit

答案 6 :(得分:5)

要停止正在运行的程序:请使用CTRL + C终止该进程。

要在python中以编程方式处理它,请执行以下操作:导入sys模块,并在要终止程序的位置使用sys.exit。

    import sys
    sys.exit()

答案 7 :(得分:2)

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

答案 8 :(得分:2)

当我在Linux终端上运行python脚本时,按CTRL + \即可。 (不是CRTL + C或D)

答案 9 :(得分:2)

如果您陷入python shell中,请

Ctrl + Z应该这样做。请记住,脚本实例可以继续在后台运行,因此在Linux下,您必须终止相应的进程。

答案 10 :(得分:1)

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

exit()

答案 11 :(得分:0)

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

答案 12 :(得分:0)

如果您正在使用Spyder,请使用 CTRL +。 (DOT),您将重新启动内核,也将停止程序。

答案 13 :(得分:0)

如果您在Jupyter Notebook中,

exit()将杀死内核,所以这不是一个好主意。加薪将停止程序。

答案 14 :(得分:0)

Windows解决方案:控件 + C

Macbook解决方案:控件(^) + C

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

答案 15 :(得分:0)

尝试使用:

<块引用>

Ctrl + Fn + S

<块引用>

Ctrl + Fn + B

答案 16 :(得分:-1)

在Windows 10上,

Control + D 适用于我。此外,将exit()放在最后也可以。

答案 17 :(得分:-4)

以编程方式,您可以使用此代码:

while True:
    pass