僵尸進程的存在意義、危害及避免方法

僵尸進程并不可怕账劲,可怕的是量大瀑焦。僵尸進程是有它存在的意義的梗肝。以下解釋摘自百度百科:

由于子進程的結(jié)束和父進程的運行是一個異步過程,即父進程永遠無法預測子進程 到底什么時候結(jié)束. 那么會不會因為父進程太忙來不及wait子進程巫击,或者說不知道 子進程什么時候結(jié)束,而丟失子進程結(jié)束時的狀態(tài)信息呢? 不會粹懒。因為UNⅨ提供了一種機制可以保證只要父進程想知道子進程結(jié)束時的狀態(tài)信息顷级, 就可以得到。這種機制就是: 在每個進程退出的時候,內(nèi)核釋

放該進程所有的資源删掀,包括打開的文件嚣镜,占用的內(nèi)存等。但是仍然為其保留一定的信息(包括進程號the process ID菊匿,退出狀態(tài)the

termination status of the process跌捆,運行時間the amount of CPU time taken by

the process等)。直到父進程通過wait / waitpid來取時才釋放. 但這樣就導致了問題姆钉,如果進程不調(diào)用wait / waitpid的話抄瓦,那么保留的那段信息就不會釋放,其進程號就會一直被占用钙姊,但是系統(tǒng)所能使用的進程號是有限的煞额,如果大量的產(chǎn)生僵死進程,將因為沒有可用的進程號而導致系統(tǒng)不能產(chǎn)生新的進程. 此即為僵尸進程的危害胀莹,應(yīng)當避免。

僵尸進程的避免:

⒈父進程通過wait和waitpid等函數(shù)等待子進程結(jié)束描焰,這會導致父進程掛起栈顷。

⒉ 如果父進程很忙嵌巷,那么可以用signal函數(shù)為SIGCHLD安裝handler,因為子進程結(jié)束后靡努, 父進程會收到該信號,可以在handler中調(diào)用wait回收兽泄。

⒊ 如果父進程不關(guān)心子進程什么時候結(jié)束漾月,那么可以用signal(SIGCHLD,SIG_IGN) 通知內(nèi)核,自己對子進程的結(jié)束不感興趣蜓陌,那么子進程結(jié)束后吩蔑,內(nèi)核會回收, 并不再給父進程發(fā)送信號隧期。

⒋ 還有一些技巧赘娄,就是fork兩次,父進程fork一個子進程性置,然后繼續(xù)工作暑诸,子進程fork一 個孫進程后退出辟灰,那么孫進程被init接管,孫進程結(jié)束后西采,init會回收继控。不過子進程的回收 還要自己做。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末霹崎,一起剝皮案震驚了整個濱河市冶忱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌派诬,老刑警劉巖默赂,帶你破解...
    沈念sama閱讀 218,546評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異曲掰,居然都是意外死亡蜈缤,警方通過查閱死者的電腦和手機冯挎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評論 3 395
  • 文/潘曉璐 我一進店門趾徽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來翰守,“玉大人,你說我怎么就攤上這事了袁∈” “怎么了油航?”我有些...
    開封第一講書人閱讀 164,911評論 0 354
  • 文/不壞的土叔 我叫張陵怕享,是天一觀的道長。 經(jīng)常有香客問我镰踏,道長函筋,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,737評論 1 294
  • 正文 為了忘掉前任奠伪,我火速辦了婚禮驻呐,結(jié)果婚禮上灌诅,老公的妹妹穿的比我還像新娘。我一直安慰自己含末,他們只是感情好猜拾,可當我...
    茶點故事閱讀 67,753評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著佣盒,像睡著了一般挎袜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上肥惭,一...
    開封第一講書人閱讀 51,598評論 1 305
  • 那天盯仪,我揣著相機與錄音,去河邊找鬼蜜葱。 笑死牵囤,一個胖子當著我的面吹牛炕贵,可吹牛的內(nèi)容都是我干的称开。 我是一名探鬼主播鳖轰,決...
    沈念sama閱讀 40,338評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼狈惫,長吁一口氣:“原來是場噩夢啊……” “哼胧谈!你這毒婦竟也來了菱肖?” 一聲冷哼從身側(cè)響起场仲,我...
    開封第一講書人閱讀 39,249評論 0 276
  • 序言:老撾萬榮一對情侶失蹤褒繁,失蹤者是張志新(化名)和其女友劉穎棒坏,沒想到半個月后徒探,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體测暗,經(jīng)...
    沈念sama閱讀 45,696評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡挫掏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,888評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片剧蚣。...
    茶點故事閱讀 40,013評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡饶碘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出瑟曲,到底是詐尸還是另有隱情洞拨,我是刑警寧澤篮赢,帶...
    沈念sama閱讀 35,731評論 5 346
  • 正文 年R本政府宣布寥茫,位于F島的核電站纱耻,受9級特大地震影響弄喘,放射性物質(zhì)發(fā)生泄漏蘑志。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,348評論 3 330
  • 文/蒙蒙 一请敦、第九天 我趴在偏房一處隱蔽的房頂上張望侍筛。 院中可真熱鬧敌蚜,春花似錦弛车、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谢肾。三九已至芦疏,卻和暖如春兢交,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背昆稿。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評論 1 270
  • 我被黑心中介騙來泰國打工喳瓣, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人仿滔。 一個月前我還...
    沈念sama閱讀 48,203評論 3 370
  • 正文 我出身青樓腰埂,卻偏偏與公主長得像,于是被迫代替她去往敵國和親灶壶。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,960評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 又來到了一個老生常談的問題,應(yīng)用層軟件開發(fā)的程序員要不要了解和深入學習操作系統(tǒng)呢? 今天就這個問題開始低矮,來談?wù)劜?..
    tangsl閱讀 4,127評論 0 23
  • Linux 進程管理與程序開發(fā) 進程是Linux事務(wù)管理的基本單元,所有的進程均擁有自己獨立的處理環(huán)境和系統(tǒng)資源穴张,...
    JamesPeng閱讀 2,467評論 1 14
  • 一、需求獲取方法論 產(chǎn)品是建立在需求之上的,如果需求獲取階段出現(xiàn)問題,那么最終發(fā)布的產(chǎn)品也會和最初設(shè)想的有很大差別...
    張安松閱讀 2,608評論 0 23
  • 我壓抑态坦, 心中的苦悶, 立志能做一個獨立的人, 然而所有的一切都要建立在金錢之上, 我也壓抑掰邢, 我不會流淚了皱炉,如決...
    余溫好似涼白開閱讀 188評論 0 0