2616

OP1

Q: 什么是孤兒進(jìn)程(orphan process),什么是僵尸進(jìn)程(zombie process)?

** A:** 孤兒進(jìn)程指的是父進(jìn)程退出后仍在運(yùn)行的子進(jìn)程,可能不止一個(gè)。僵尸進(jìn)程指的是已經(jīng)運(yùn)行結(jié)束(即已經(jīng)向父進(jìn)程報(bào)告exit狀態(tài)),但由于某種原因,進(jìn)程描述符(PID)仍然處于進(jìn)程列表中,PID無(wú)法被回收重用的進(jìn)程。

OP2

Q: Linux是如何應(yīng)對(duì)孤兒進(jìn)程和僵尸進(jìn)程的?管理員需要如何處理這兩種進(jìn)程?

** A:** 孤兒進(jìn)程一旦出現(xiàn),kernel的init進(jìn)程就會(huì)成為它們的父進(jìn)程,init會(huì)輪詢每個(gè)進(jìn)程的狀態(tài),并完成資源清理等善后工作。由于kernel會(huì)很好地處理孤兒進(jìn)程,而且即便管理員強(qiáng)行殺死某個(gè)已經(jīng)被init收養(yǎng)了的孤兒進(jìn)程,init也會(huì)完成善后工作,所以,在不考慮程序本身邏輯的層面上,孤兒進(jìn)程不存在需要管理員出面解決的危害。
而僵尸進(jìn)程的存在會(huì)使得一個(gè)PID無(wú)法被復(fù)用,當(dāng)PID超過(guò)上限(通常是32767,這個(gè)值可以更改)時(shí),系統(tǒng)將無(wú)法為新進(jìn)程分配PID,這就導(dǎo)致無(wú)法創(chuàng)建新進(jìn)程。而且大量僵尸進(jìn)程會(huì)填滿你的進(jìn)程列表,讓你無(wú)法進(jìn)行正常的管理。每一個(gè)進(jìn)程在結(jié)束(發(fā)送exit狀態(tài))后,不會(huì)馬上消失,而是都會(huì)處于僵尸狀態(tài),等待父進(jìn)程進(jìn)行資源清理和信息收集。出現(xiàn)僵尸進(jìn)程堆積的根本原因是,父進(jìn)程沒(méi)有在收到exit后及時(shí)對(duì)子進(jìn)程進(jìn)行處理。所以,想終結(jié)僵尸進(jìn)程,只需要?dú)⑺栏高M(jìn)程,使得子進(jìn)程成為孤兒進(jìn)程,就可以由init進(jìn)程進(jìn)行善后。
在編程時(shí),通常通過(guò)waitpid來(lái)處理子進(jìn)程的SIGCHILD信號(hào),也可以對(duì)子進(jìn)程進(jìn)行兩次fork,這樣,在第一層子進(jìn)程結(jié)束后,第二層子進(jìn)程就會(huì)成為孤兒進(jìn)程,可以由init進(jìn)行善后工作。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 又來(lái)到了一個(gè)老生常談的問(wèn)題,應(yīng)用層軟件開(kāi)發(fā)的程序員要不要了解和深入學(xué)習(xí)操作系統(tǒng)呢? 今天就這個(gè)問(wèn)題開(kāi)始,來(lái)談?wù)劜?..
    tangsl閱讀 4,317評(píng)論 0 23
  • Linux 進(jìn)程管理與程序開(kāi)發(fā) 進(jìn)程是Linux事務(wù)管理的基本單元,所有的進(jìn)程均擁有自己獨(dú)立的處理環(huán)境和系統(tǒng)資源,...
    JamesPeng閱讀 2,585評(píng)論 1 14
  • 【論語(yǔ)心得021】識(shí)人有術(shù)。觀察一個(gè)人的人性品格有三個(gè)方法。視其所以,看他的動(dòng)機(jī),他為什么要做這個(gè)事。觀其所由,他...
    國(guó)學(xué)應(yīng)用講習(xí)所閱讀 194評(píng)論 0 0
  • 光陰似箭,我給女巫師奴役了好幾個(gè)月。終于有一天,她在電線桿上的包小姐招聘信息旁找到了外地的一份工作,帶著她的魔力掃...
    夾餡鍋鍋閱讀 266評(píng)論 0 0
  • 感恩媽媽的對(duì)孩子們的關(guān)愛(ài),馬上新的月季就要開(kāi)學(xué),媽媽為了讓孩子們?cè)谛碌膶W(xué)期有新的成長(zhǎng)和進(jìn)步,專門(mén)請(qǐng)孩子們聚在一起吃...
    鄭州豫昌鴻侯喜梅閱讀 204評(píng)論 0 1

友情鏈接更多精彩內(nèi)容