首頁(yè)技術(shù)文章正文

孤兒進(jìn)程和僵尸進(jìn)程概念|如何避免僵尸進(jìn)程?

更新時(shí)間:2021-02-26 來(lái)源:黑馬程序員 瀏覽量:

孤兒進(jìn)程和僵尸進(jìn)程的概念

孤兒進(jìn)程:父進(jìn)程退出,子進(jìn)程還在運(yùn)行的這些子進(jìn)程都是孤兒進(jìn)程,孤兒進(jìn)程將被init進(jìn)程(進(jìn)程號(hào)為1)所收養(yǎng),并由init進(jìn)程對(duì)它們完成狀態(tài)收集工作。

僵尸進(jìn)程:進(jìn)程使用 fork 創(chuàng)建子進(jìn)程,如果子進(jìn)程退出,而父進(jìn)程并沒(méi)有調(diào)用 wait 或 waitpid 獲取子進(jìn)程的狀態(tài)信息,那么子進(jìn)程的進(jìn)程描述符仍然保存在系統(tǒng)中的這些進(jìn)程是僵尸進(jìn)程。

僵尸進(jìn)程

避免僵尸進(jìn)程的方法

1.fork兩次用孫子進(jìn)程去完成子進(jìn)程的任務(wù);

2.用wait()函數(shù)使父進(jìn)程阻塞;

3.使用信號(hào)量,在signal handler中調(diào)用waitpid,這樣父進(jìn)程不用阻塞。



猜你喜歡:

什么是進(jìn)程?Python進(jìn)程各部分內(nèi)容介紹

python是什么?python的用途

python教程:Python入門(mén)基礎(chǔ)教程下載

Python+數(shù)據(jù)分析課程

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!