2013-04-10 93 views
0

因此,我在子進程中執行一個execv()文件,其文件描述符可能會根據輸入進行修改。但是,因爲execv()接管了子進程,所以在先前調用之後調用execv()並不起作用。從兒童多次執行

我該如何去執行一個孩子的多個進程?

+0

有孩子產下孫子,有孫子運行exec,有孩子等它,產下另一個孫子等。 – Oren 2013-04-10 18:39:16

+0

我試過了,但是因爲我使用的是管道/ fd沒有任何東西從輸出孫子,只有孩子。 – Pat 2013-04-10 18:42:00

回答

0

當您在進程中調用execv時,原始過程映像將被正在執行的程序中的新過程映像覆蓋。這意味着你不能在同一個進程中運行多個execv,因爲只有第一個會被執行。

爲了解決這個問題,你必須爲你計劃運行的每個execv產生一個新的進程。