我有一個要求fork()
獲取派生進程的標準輸出/標準錯誤在子進程
一個C程序,我有一個python腳本與
child = subprocess.Popen(command, shell=True, stderr=subprocess.PIPE,stdout=subprocess.PIPE, bufsize=0)
執行C程序現在,我可以讀從標準輸出和標準錯誤與child.stderr.read(1)
或child.communicate()
,...但我的問題是,現在,我怎麼能得到只從輸出分叉過程。這甚至有可能嗎?我可以從兩個版本中獲得pid嗎,原始的C程序和fork?
親切的問候, 非常感謝你:)
的Fabian
「這可能嗎?」沒有。「我可以從兩個版本,原始的C程序和叉子上獲得pid嗎?」不是.C程序擁有那個孩子。你的進程擁有C程序。現在。不要擔心Linux的細節,並描述你的**真實**問題。爲什麼你的Python程序不能像C程序那樣運行相同的子進程? – 2012-02-26 15:00:49
更簡單的方法可能是使用不同的輸出格式,主進程可以從「ParentOutput:」開始,而子進程的輸出是:「ChildOutput:」。然後你可以忽略你的python程序中的「ParentOutput」。 – springrider 2012-02-26 15:06:39