殭屍程序-z(zombie)
子程序退出,父程序還在執行,但父程序沒有讀取子程序狀態,子程序進入z狀態。
1 #include 2 #include 3 #include 4 #include 5
6 using namespace std;
7 8 int main()
9 14 if(id == 0)
22 }
23 }
24 else
29 }
30 return 0;
31 }
殭屍程序危害
孤兒程序
父程序先退出,子程序就稱之為孤兒程序
1 #include 2 #include 3 #include 4 #include 5
6 using namespace std;
7 8 int main()
9 14 if(id == 0)
19 }
20 else
26 cout << "father is running..." << endl;
27 sleep(1);
28 }
29 }
30 return 0;
31 }
Linux 模擬實現殭屍程序和孤兒程序
我們先了解一下程序都有哪幾種狀態。kernel源 裡定義了程序的如下狀態 r 執行狀態 running 表明程序要麼是在執行中要麼是在執行佇列裡。s 睡眠狀態 sleeping 意味著程序在等待事件完成,有時叫做可中斷睡眠。d磁碟休眠狀態 disk sleep 不可中斷睡眠狀態,在這個狀態程序通常會...
模擬實現殭屍程序
當程序退出並且父程序沒有讀取到子程序退出返回的 時就會產生殭屍程序。乙個程序在呼叫exit命令結束自己的生命的時候,其實它並沒有真正的銷毀,而是留下乙個稱為殭屍程序 zombie 的資料結構 系統呼叫exit,它的作用是 使程序退出,但也僅僅限於將乙個正常的程序變成乙個殭屍程序,並不能將其完全銷毀 ...
模擬實現殭屍程序和孤兒程序
殭屍程序 乙個子程序在其父程序沒有呼叫wait 或waitpid 的情況下退出。這個子程序就是殭屍程序。程序在終止時,系統會 所有核心分配給它的記憶體 關閉它開啟的所有檔案等等,但還會保留一些極少的資訊,因為 程序終止後有些資訊對於父程序和核心還是很有用的,例如程序的id號 程序的退出狀態 程序執行...