首頁技術文章正文

孤兒進程和僵尸進程概念|如何避免僵尸進程?

更新時間:2021-02-26 來源:黑馬程序員 瀏覽量:

孤兒進程和僵尸進程的概念

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

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

僵尸進程

避免僵尸進程的方法

1.fork兩次用孫子進程去完成子進程的任務;

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

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



猜你喜歡:

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

python是什么?python的用途

python教程:Python入門基礎教程下載

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

分享到:
在線咨詢 我要報名
和我們在線交談!