可以說,我有兩個功能X & Ÿ和這兩個功能調用另一個功能ž。如何選擇等待還是不等待父進程?
我在這個功能中發揮作用z。
我想要做的是以下幾點。
如果我調用的函數是X。等待孩子完成 父進程
否則如果調用函數是y。不要等待孩子,(好像它 正在同時運行)。
我該如何實現這樣的行爲,如果它甚至是可能的?
還是我得把兩個獨立的功能Z1 & Z2
其中Z1我叉,等待和Z2我叉,我不等待。
,我想這樣做在C
可以說,我有兩個功能X & Ÿ和這兩個功能調用另一個功能ž。如何選擇等待還是不等待父進程?
我在這個功能中發揮作用z。
我想要做的是以下幾點。
如果我調用的函數是X。等待孩子完成 父進程
否則如果調用函數是y。不要等待孩子,(好像它 正在同時運行)。
我該如何實現這樣的行爲,如果它甚至是可能的?
還是我得把兩個獨立的功能Z1 & Z2
其中Z1我叉,等待和Z2我叉,我不等待。
,我想這樣做在C
你可以通過指示是否z
應等待孩子的參數z
。或者,您可以讓z
返回小孩的進程ID而無需等待它。然後,你可以手動調用waitpid
在x
明確等待通過z
分叉斷過程:
waitpid(z(), NULL, 0);
當然,你需要做的錯誤處理爲好。
將「等待」布爾值傳遞給z有什麼問題? –