2013-02-14 44 views
0

我正在爲一個發現殭屍並將其收入Linux內核的類編寫一個項目。如何在Linux內核中創建多個殭屍?

我發現代碼,這將創建一個單一的殭屍,它得到一個wait()後收穫,但我的程序必須收穫很多,1000

順序我是很新的內核操作/多對線程和我在網上發現的處理殭屍的資源要麼過於技術化,要麼模棱兩可。

這是我使用的代碼:

 pid_t child_pid; 

     child_pid = fork(); 
     if (child_pid > 0) { 
      sleep (60); 
     } else { 
      exit (0); 
     } 

再一次,我的問題是:我應該如何去創建多個殭屍,我的程序收穫?

由於大部分-Jared

+0

那麼你成功地創建一個。在退出之前重複剛纔的操作,你會得到兩個。在循環中做到這一點,你會得到儘可能多的。 – Mat 2013-02-14 18:31:14

+0

你有沒有某種do_exit方法?這應該標記你的進程進行清理,並在所有進程的線程退出時調用 – 75inchpianist 2013-02-14 18:33:36

+0

我記得[OP嘗試創建殭屍進程的另一個問題](http://stackoverflow.com/questions/13647519/cant-create-zombie -Process合的Linux)。就像我在其他問題上所說的那樣,這有什麼意義?那些想要創建殭屍進程的人有什麼想法? – netcoder 2013-02-14 18:43:42

回答

2

殭屍不超過一個終止進程誰得到了家長說沒看過他的退出狀態(簡單地說:孩子退出後父母沒叫wait())和保持內存和資源的繁忙。

爲了達到你所需要的只是叉了大量的工藝(例如使用一個循環),從不叫wait()

+0

明白了,fork語句是應該包含在循環中的唯一行。謝謝^。^ – Jared 2013-02-14 19:12:56