首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python 中 Ctrl+C 不能终

python2.x中multiprocessing提供的基于函数进程池,join后陷入内核态,按下ctrl+c不能停止所有的进程并退出。即必须ctrl+z后找到残留的子进程,把它们干掉。.../usr/bin/env python import multiprocessing import os import time def do_work(x): print 'Work Started...很明显,使用进程池时KeyboardInterrupt不能被进程捕捉。解决方法有两种。...如果非要用多进程,可以利用Python3的concurrent.futures包(python2.x也能装),编写更加简单易用的多线程/多进程代码,其使用和Java的concurrent框架有些相似....经过亲自验证,ProcessPoolExecutor是没有^c的问题的,要用多进程建议使用它 参考 http://bryceboe.com/2010/08/26/python-multiprocessing-and-keyboardinterrupt

3K20
您找到你想要的搜索结果了吗?
是的
没有找到

以写代学:python 错误、异常、断言

sys.stdout.flush()     try:         time.sleep(1)     except KeyboardInterrupt:         pass      也可以有多个... must input a number" except (KeyboardInterrupt, EOFError):    //如果同时捕获多个异常,需加圆括号,否则会     print "User...//,号右边的变量(自己定义)是保存错误原因     print "Error: you must input a number",reason   except (KeyboardInterrupt,...),e     //不同的异常,输出不同的信息,并且保存报错信息     print "Error:", e except (KeyboardInterrupt, EOFError):        /... i, [root@pythion python]# python raise1.py         //执行程序是如下效果 0 1 2 3 4 5 6 7 8 9 10 Traceback (most

69220

Python 标准异常总结

Python标准异常总结 AssertionError 断言语句(assert)失败 AttributeError 尝试访问未知的对象属性 EOFError 用户输入文件末尾标志EOF(Ctrl+d)...GeneratorExit generator.close()方法被调用的时候 ImportError 导入模块失败的时候 IndexError 索引超出序列的范围 KeyError 字典中查找一个不存在的关键字 KeyboardInterrupt...弱引用(weak reference)试图访问一个已经被垃圾回收机制回收了的对象 RuntimeError 一般的运行时错误 StopIteration 迭代器没有更多的值 SyntaxError Python...的语法错误 IndentationError 缩进错误 TabError Tab和空格混合使用 SystemError Python编译器系统错误 SystemExit Python编译器进程被关闭 TypeError...内置异常类的层次结构: BaseException +-- SystemExit +-- KeyboardInterrupt +-- GeneratorExit +-- Exception

94720

小甲鱼《零基础学习Python》课后笔记(三十三):异常处理——你不可能总是对的2

3.except后如果不带任何异常类,Python会捕获所有(try语句块内)的异常并统一处理,但小甲鱼不建议这么做,你知道为什么吗?...4.如果异常发生在成功打开文件后,Python跳到except语句执行,并没有执行关闭文件的命令(用户写入文件的数据就可能没有保存起来),因此我们需要无论如何(就算出了异常退出)文件也要被关闭,我们应该怎么做呢...try: for i in range(3): for j in range(3): if i == 2: raise KeyboardInterrupt print(i, j...) except KeyboardInterrupt: print('退出啦!')...1.input()函数有可能产生两类异常:EOFError(文件末尾endoffile,当用户按下组合键Ctrl+d产生)和KeyboardInterrupt(取消输入,当用户按下组合键Ctrl+c产生

60330
领券