'sys.excepthook'和多处理

时间:2017-02-24 10:42:07

标签: python multithreading sys

我正在尝试使用自定义sys.excepthook与多处理库来处理所有线程上的异常。我知道有一个带有python的outstanding bug会阻止它与Threading库一起正常工作,测试表明这也会影响多处理。

导致我使用它的Python错误和Stackoverflow post都有Threading库的解决方法,但没有用于多处理。我已经尝试调整解决方法以用于多处理,但异常仍然照常抛出。

def install_thread_excepthook():
    import sys
    start_old = multiprocessing.Process.start
    def start(*args, **kwargs):
        try:
            start_old(*args, **kwargs)
        except (KeyboardInterrupt, SystemExit):
            raise
        except:
            sys.excepthook(*sys.exc_info())
    multiprocessing.Process.start = run

如何通过多处理使sys.excepthook正常工作?

0 个答案:

没有答案