溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux中僵尸進程和孤兒進程詳解

發(fā)布時間:2020-09-20 14:49:52 來源:腳本之家 閱讀:186 作者:z517602658 欄目:服務器

本文主要給大家介紹了關于Linux中僵尸進程和孤兒進程的相關內(nèi)容,分享給出來供大家參考學習,下面來看看詳細的介紹:

1、僵尸進程

一個子進程在其父進程沒有調(diào)用wait()waitpid()的情況下退出,這個子進程就是僵尸進程。如果其父進程還存在而一直不調(diào)用wait,則該僵尸進程將無法回收,等到其父進程退出后該進程將被init回收。

Linux中僵尸進程和孤兒進程詳解

運行結果

Linux中僵尸進程和孤兒進程詳解

2、孤兒進程

一個父進程退出,而它的一個或多個子進程還在運行,那么那些子進程將成為孤兒進程。孤兒進程將被init進程(進程號為1)所收養(yǎng),并由init進程對他們完成狀態(tài)收集工作。

Linux中僵尸進程和孤兒進程詳解

運行結果

Linux中僵尸進程和孤兒進程詳解

然而子進程一直在調(diào)用,也不能被ctrl^c掉。。

3、注冊函數(shù)atexit,在進程退出時調(diào)用

Linux中僵尸進程和孤兒進程詳解

運行結果

Linux中僵尸進程和孤兒進程詳解

由結果可見,當我們用注冊函數(shù)調(diào)用fun1、fun2、fun3時它在整個進程退出時會倒著給我們打印這些函數(shù)中的內(nèi)容,在最后退出時調(diào)用第一個注冊函數(shù)并打印信息。

總結

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,如有疑問大家可以留言交流,謝謝大家對億速云的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI