我正在尝试创建一个僵尸进程[重复]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我正在尝试创建一个僵尸进程[重复]相关的知识,希望对你有一定的参考价值。
这个问题在这里已有答案:
我试图通过了解在线解决方案来创建僵尸进程
但我仍然无法使用以下代码找到任何僵尸进程
我不知道我的代码出了什么问题
我正在尝试pstree -p
和top
命令找到我的僵尸进程,但我找不到任何
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int main(int argc, char const *argv[])
{
pid_t childPID;
childPID = fork();
if(childPID < 0)
{
printf("child Process creation failed
");
}
else if(childPID == 0)
{
printf("I am child Process.My pid is: %d
", getpid());
exit(0);
sleep(100);
}
else
{
sleep(10);
printf("I am parent process.my pid: %d
", getpid());
printf("My child process is: %d
",childPID);
}
return 0;
}
答案
好吧,我可以看到父母仍在运行时的僵尸进程
但是当父母去世时,两个过程都会消失。我的猜测是,一旦父进程死亡,init
(或任何与pid 1运行的进程)waitpid
s为僵尸从而将其从进程列表中删除。
以上是关于我正在尝试创建一个僵尸进程[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Linux——进程概念进程创建僵尸进程孤儿进程环境变量程序地址空间详解
Linux——进程概念进程创建僵尸进程孤儿进程环境变量程序地址空间详解
Linux——进程概念进程创建僵尸进程孤儿进程环境变量程序地址空间详解