0

我有一個類,並在構造函數中,我創建過程類的對象如下Python的多進程不能正常工作或拋出異常

self.child = multiprocessing.Process(target = self.load_paths,args = (self.paths,self.queue,)) 
self.child.daemon = True 

在一個單獨的功能,我嘗試啓動像

def start_child(self): 
    self.child.start() 
    print 'child started' 
過程

現在每當我第3次或第n + 2次調用函數start_child()時,子程序都會啓動,但消息永遠不會被打印,並且不會返回調用。

編輯:啓動新的子進程的過程也是由其他進程啓動的子進程。

這不會返回任何異常,並在Windows(python 2.7.8)中完全按照預期工作。 問題出現在Ubuntu的python 2.7.6

如何緩解它提供的任務管理器不會顯示此代碼的窗口中的任何異常?

+0

哪些消息你說的不是打印? '打印'孩子開始'? – ozgur 2015-04-01 05:41:51

+0

yes打印'孩子開始' – 2015-04-01 05:54:20

+0

通過「啓動新孩子的過程也是由其他過程啓動的孩子過程」,你的意思是'start_child',是否也由其他過程啓動? – pnv 2015-04-01 06:25:43

回答

0

我通過從multiprocessing.Process繼承目標類並重寫運行函數來解決此問題。