環境:vmware workstation;centos-6.4-x86_64
孤兒程序:
1、父程序消失,子程序仍然存在,那麼這個子程序就是孤兒程序。程式:2、孤兒程序的ppid是1,此時子程序的父程序變成init()。
使用程式,實現乙個孤兒程序,並得到孤兒程序的ppid。程式如下main.c:
#include #include #include #include #include int main(int argc, char *args)
if (id > 0)
else
return 0;
}
編譯並執行程式:
[negivup@negivup mycode]$ gcc -o main main.c
[negivup@negivup mycode]$ ./main
[negivup@negivup mycode]$ ppid : 1
從程式的執行結果中可以看出,孤兒程序的父程序的pid是1。 linux 中的僵死程序和孤兒程序
當我們使用建立程序的函式fork vfork 等,建立了子程序 1.子程序先於父親程序退出,會造成子程序的程序編號無法釋放.程序編號的範圍很大,但不應該隨意浪費 2.子程序後於父親程序退出,子程序會交給init 程序管理.3.乙個程序在執行完畢後,系統會自動清空其存在的程序的相關資源 結合上面說明,...
Linux 中的殭屍程序與孤兒程序
在介紹殭屍程序和孤兒程序之前我們先了解一下程序的幾種狀態 程序狀態 1.r狀態 程序要麼在執行要麼在執行佇列中。2.s狀態 睡眠狀態,程序在等待某事件完成 可被中斷 3.d狀態 不可中斷的睡眠狀態 通常其在第等待io結的束 4.t狀態 被停止的程序 傳送訊號sigstop停止程序 sigcont讓程...
簡述Linux中的孤兒程序和殭屍程序
父程序先於子程序終止,則子程序變成孤兒程序 乙個臨時中間狀態 系統很快將孤兒程序的父程序設定為init init程序 孤兒領養程序 孤兒收養院 作用 負責作為孤兒程序的父程序,在孤兒程序終止後,程序釋放資源 孤兒程序產生 include include include intmain if pid ...