殭屍程式和孤兒程式
孤兒程式
概念
若子程式的父程式已經死掉,而子程式還存活著,這個程式就成了孤兒程式。
為了保證每個程式都有一個父程式,孤兒程式會被init程式領養,init程式成為了孤兒程式的養父程式,當孤兒程式退出之後,由init程式完成對孤兒程式的回收。
//孤兒程式
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <unistd.h>
int main()
{
//建立子程式
pid_t pid = fork();
if(pid<0) //fork失敗的情況
{
perror("fork error");
return -1;
}
else if(pid>0)//父程式
{
sleep(5);
printf("father: [%d], pid==[%d], fpid==[%d]\n", pid, getpid(),getppid());
}
else if(pid==0) //子程式
{
printf("child: pid==[%d], fpid==[%d]\n", getpid(), getppid());
sleep(20);
printf("child: pid==[%d], fpid==[%d]\n", getpid(), getppid());
}
return 0;
}
殭屍程式
概念
若子程式死了,父程式還活著, 但是父程式沒有呼叫wait或waitpid函式完成對子程式的回收,則該子程式就成了殭屍程式。
解決方案
由於殭屍程式是一個已經死亡的程式,故不能使用kill命令將程式殺死;
可以通過殺死父程式的方法消除殭屍程式:
殺死其父程式,這個殭屍程式會被init程式領養,由init程式完成對殭屍程式的回收。
#include <string.h>
#include <sys/types.h>
#include <unistd.h>
int main()
{
//建立子程式
pid_t pid = fork();
if(pid<0) //fork失敗的情況
{
perror("fork error");
return -1;
}
else if(pid>0)//父程式
{
sleep(100);
printf("father: [%d], pid==[%d], fpid==[%d]\n", pid, getpid(),getppid());
}
else if(pid==0) //子程式
{
printf("child: pid==[%d], fpid==[%d]\n", getpid(), getppid());
}
return 0;
}
相關文章
- 殭屍程式,孤兒程式
- Perl程式:殭屍程式和孤兒程式
- 子程式、孤兒程式,殭屍程式, init程式
- Go Exec 殭屍與孤兒程式Go
- 孤兒程序和殭屍程序
- UNIXC002 程式資源的回收、孤兒程式和殭屍程式
- PHP 多程式之孤兒和殭屍簡單講解PHP
- 從一道面試題來學習前臺程式和後臺程式、孤兒程式和殭屍程式面試題
- fork和殭屍程式
- 聊聊 PHP 多程序模式下的孤兒程序和殭屍程序PHP模式
- 程序物件、殭屍程序與孤兒程序、守護程序、互斥鎖物件
- Linux中殭屍程式是什麼意思?怎麼檢視殭屍程式?Linux
- 檢視 Linux 殭屍程式Linux
- Linux殭屍程式處置Linux
- Linux 中殭屍程式詳解Linux
- Linux系統殭屍程式詳解Linux
- Linux系統程式設計——特殊程式之孤兒程式Linux程式設計
- JaCoCo助您毀滅線上殭屍程式碼
- Linux 效能優化之 CPU 篇 ----- 殭屍程式Linux優化
- 什麼是殭屍程式以及如何處理
- 系統中出現大量不可中斷程式(D)和殭屍程式(Z)怎麼辦?
- 物聯網教程Linux系統程式設計——特殊程式之殭屍程式Linux程式設計
- 孤兒程式與終端的關係
- 案例:系統中出現大量不可中斷程式(D)和殭屍程式(Z)怎麼辦?
- Python 植物大戰殭屍程式碼實現(2):植物卡片選擇和種植Python
- 植物大戰殭屍,用QT注入程式碼,AT&T彙編語法QT
- Unity 植物大戰殭屍(一)Unity
- 什麼是殭屍網路
- 濫用ThinkPHP漏洞的殭屍網路Hakai和YowaiPHPAI
- 3.19實戰殭屍工廠1
- 3.20實戰殭屍工廠2
- Mirai殭屍網路重出江湖AI
- 《植物大戰殭屍》10歲了
- 植物大戰殭屍 雜交版
- 植物大戰殭屍-雜交版
- 植物大戰殭屍雜交版 官方版(作者:b站潛艇偉偉迷) 植物大戰殭屍雜交版v2.0.88安裝程式.exe
- 植物大戰殭屍雜交版 最新官方版(作者:b站潛艇偉偉迷) 植物大戰殭屍雜交版v2.4安裝程式.exe
- 植物大戰殭屍融合版最新版下載和攻略