2012-01-28 130 views
3

我怎麼可以叉(通過過程包裝),並扭曲完全重置在新的過程。 我必須從具有大量反應堆的工藝中產生一個新工藝,但是我需要將反應器(在新工藝中)移除並添加其他東西。蟒蛇扭曲和多處理

例如,我需要一個glib2reactor在父母和孩子....但扭曲通知我反應器已經安裝(叉後)。 Fork用每個扭轉反應器將父母的記憶複製到孩子身上..我可以如何「重置」孩子的扭曲?

感謝你的幫助,

Dudda

回答

0

os.fork()克隆當前的過程中,孩子的進程ID返回給父0到孩子。

if os.fork(): 
    "parent" 
else: 
    "child" 

如果使用os.system()subprocesses模塊你得到一個新鮮的新工藝。

您可以在os.system()命令中使用分支&來避免阻塞。

error = os.system('ls &') 

os.execv和朋友用目標命令替換當前進程。

0

Twisted支持通過twisted.internet.interfaces.IReactorProcess啓動任意子進程(包括使用Twisted的進程)。有關如何使用它的詳細信息,請參閱the process howto