python如何使用ctrl+c来退出程序?

网上找到两种方法,哪个比较好,比较不浪费CPU,因为都使用上了无限的循环,#-*-coding:utf-8-*-importsignal,time,sysdefexit(... 网上找到两种方法,哪个比较好,比较不浪费CPU,因为都使用上了无限的循环,
#-*- coding: utf-8 -*-
import signal,time,sys
def exit():
def myhandle(signalNum,e):
# print 'signalNum : %s' % (signalNum)
# print 'e : %s' % (e)
sys.exit(0)
signal.signal(signal.SIGINT, myhandle)
signal.signal(signal.SIGTERM, myhandle)
while True:
time.sleep(1)
def exit_1 ():
while True:
try:
INPUT=raw_input()
except KeyboardInterrupt :
sys.exit(0)
break
except EOFError:
print 'Unknown End of file!'
continue
if __name__ == "__main__":
exit()
#or exit_1()
而且两种方法都不能很好的实现多线程,
第一种的signal要实现在主线程内,
而第二种当实现线程时就会变成EOFError例外了,而不是原来的KeyboardInterrupt例外,
要怎么实现比较好呢?
展开
 我来答
牛长旭0Fk
推荐于2018-04-05 · 超过18用户采纳过TA的回答
知道答主
回答量:32
采纳率:0%
帮助的人:54.8万
展开全部
根据我处理这个问题的教训,python的多线程面对这个情况是非常郁闷的,所以我最后选择了用multiprocessing模块(多进程)替换了多线程。如果可以的话,我强烈建议你改用multiprocessing。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式