2016-07-25 28 views
3

我有一个程序,产生一堆使用多处理库的工作守护进程。如何调试沉默崩溃?多处理python

有时候,这些守护进程偶尔会崩溃并死亡。这不是由python级别的Exception引起的。崩溃似乎是完全沉默...

任何人都可以提供关于如何可以去调试这个问题的提示?

+1

'multiprocessing.log_to_stderr()' –

回答

0

faulthandler库可能有助于调试此类行为。在每一道工序run方法来回溯保存为独立的文件运行此代码:

f = open('fault_%s.log' % multiprocessing.current_process().name, 'w') 
faulthandler.enable(file=f, all_threads=True)