python 无法使用Ctrl

您所在的位置:网站首页 终止正在运行的程序怎么办 python 无法使用Ctrl

python 无法使用Ctrl

2024-07-16 05:52| 来源: 网络整理| 查看: 265

文章目录 无法使用Ctrl-C终止Python脚本

无法使用Ctrl-C终止Python脚本

写了一个死循环,类似:

def function(): while True: #my code

程序运行后想用ctrl+c按键停止程序,可是终止不了。以下为解决办法:

第一步:加入sys,signal模块,定义一个quit函数

import sys import signal def quit(signum, frame): print '' print 'stop fusion' sys.exit()

第二步:在funtion函数中加入两行代码:

def funtion(): signal.signal(signal.SIGINT, quit) signal.signal(signal.SIGTERM, quit) while True: #my code

另外编写代码

while True一定要有break语句

如下,如果 我们注释调 异常中的 break,我们ctrl+c 就不起作用,因为键盘KeyboardInterrupt异常在while循环中捕获,代码依旧循环。

def print_hi(name): print("Hi, {0}".format(name)) while True: try: print("xxx") time.sleep(30) except: print traceback.format_exc() #break if __name__ == '__main__': print_hi('中国')

我们解除调break 注释,发现ctrl +c 立马退出了程序。

在python中中断/中断time.sleep()

While 1: time.sleep(60)

在上面的代码中,当控件进入time.sleep函数时,需要经过整整60秒才能处理CTRL C 。

如上面描述,我们用try 捕获 KeyboardInterrupt 中断,然后直接break,就可以立即处理停止程序。

def print_hi(name): print("Hi, {0}".format(name)) while True: try: print("xxx") time.sleep(60) except: print traceback.format_exc() break if __name__ == '__main__': print_hi('中国')


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3