1
首先,這是一個家庭作業問題,所以我不想找人給我答案。我只是希望指出正確的方向。我怎樣才能正好分叉6個過程
我被授予了使用c語言和命令fork()創建正好6個進程的任務,然後讓所有6個睡眠一分鐘或兩分鐘。更難的部分是,我們不允許使用任何循環,並且只有3次調用fork()總數。幾乎所有關於fork和n個進程的信息都告訴用戶使用for循環。我也看過這裏找到類似的東西,但是,再次,爲循環。
我已經成功創建了8個,但這太多了。所以我想知道是否可以分叉或殺死特定的進程。
例如:給定第一個分支,你得到父進程和子進程。再次分叉,你有兩個孩子的原始父母和一個孩子的第一個孩子。那麼是否可以僅派生()只有擁有一個孩子的原始孩子?我發現的一切似乎都表明,在所有派生進程執行fork調用後發生的任何事情,所以我不確定如何實現我需要執行的操作。
六個顯式調用'fork' *父只*? –
對不起,我改變了一些問題來解釋更多。我只能在代碼總數中調用fork()3次。 – KM529
這可能有所幫助:http://stackoverflow.com/questions/21387349/how-does-the-fork-know-whether-it-is-in-child-process-and-in-parent-process – chiaboy