问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Linux中,子进程应结束,但父进程无法将其结束,则此进程处于僵尸状态,这时STAT为Z,COMMAND为defunct

发布网友 发布时间:2022-04-26 09:11

我来回答

2个回答

热心网友 时间:2023-10-09 04:17

错,子进程结束后,父进程没有用wait来收集子进程的退出状态,子进程的信息就会一直留在进程表中,成为zombie, 我下面的例子给你演示了如何让子进程成为僵尸,然后又如何让子进程结束这个状态。

我的例子中,子进程打印一句话后就结束了,而父进程忽略了 SIGCHLD (子进程结束运行)的信号,并且不停的打印 parent loop xxxx 长达20秒,在这20秒内,你可以用 ps 看到 子进程状态是 Z, defunct。 20秒后,父进程调用 wait来收集子进程的退出状态,这样子进程就被从进程表中清除掉了,然后再等20秒,这个时候你再ps就看不到僵尸子进程了。

#include <stdio.h>
#include <unistd.h>
#include <signal.h>

void sig_handler(int sig)
{
if (sig == SIGCHLD)
{
printf("SIGCHLD is ignored by parent!\n");
}
}

int main()
{
int pid, i;

pid = fork();

if (pid == 0)
{
printf("This is child process!\n");
sleep(1);
printf("child process quit\n");
return 0;
}
else
{
signal(SIGCHLD, sig_handler);
printf("Arm SIGCHLD handler OK.\n");
sleep(2);
printf("this is parent process...\n");
for (i = 0; i < 10; i++)
{
sleep(2);
printf("Parent process loop %d times\n", i);
}
wait(0);
for (i = 0; i < 10; i++)
{
sleep(2);
printf("after wait\n");
}
}

return 0;
}

热心网友 时间:2023-10-09 04:17

还有上百度来文这种问题的。。。
应该上专业论坛嘛。。。推荐CSDN阿
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
现在五粮液000858可以买进么? 2021年五粮液(000858)总资产、总负债、营业收入、营业成本及净利润统... 手机耗电太快了怎么解决 教你方法,轻松解决 Tag模块数组indexOf,splice的使用方法 JavaScript indexOf简介 对于一个JS对象数组怎么使用IndexOf方法得到索引呢? Array.indexOf() 学习 狼来了是什么效应 当两种刺激都出现,认知者会产生首因效应还是近因效应呢? 大过年的…… linux下子进程fork自父进程,当父进程被杀了之后,子进程还存在吗? qq问题是自嘲答案可能是什么? Linux C中父进程退出时,使用什么方法可使子进程退出 linux中父进程是什么时候创建的 Linux中,如果一个进程的父进程被杀死了,其父进程的id将会变为什么 linux里面的父进程等待子进程问题.. linux父子进程执行问题 linux子进程等待父进程 Linux C中父进程退出时,使用什么方法可使子进 父进程终止,子进程还可以运行吗 父进程的Linux 在Linux编程中,父进程为什么要等待并回收子进程的退出状态?不这样做会有什么后果? 生死攸关的烛光 把生死攸关换成千钧一发可以吗? 生死攸关的烛光的主要内容,多音字和形近字!!!!急急急急急急急急急急!!!只有今天要!!!!!!! 生死攸关的烛光的作者是谁 生死攸关的烛光写了什么? 生死攸关的烛光 敌人走后母子三人会说什么 2014学生周报生死攸关的烛光阅读答案 生死攸关的烛光 阅读答 生死攸关的烛光阅读题答案 怎样让电脑显示器上的字变大一点 怎样把电脑显示屏的字体变大? win10 怎么把显示器的字体变大 怎么改变显示器上的字大小 如何让显示屏显示出来的图标和字体变得更大!! 如何在oppo手机勾选章鱼输入法? U盘里面的文件变成乱码文件怎么办? 梦见自己在路上走,碰到一位女生睡着了,我走着走着又回去找那个女生怕她出事? 昨晚梦见自己在路上走有俩个人在路中间站着,走过的时候我碰到了别人 梦到在路上走碰到很多大虫子 梦见走在路上总碰见蛇然后想咬我但是没咬到预兆什么? 梦见自己在路上骑车碰见亲人,亲人像自己走来我丢下车往前跑,跑不动? 梦见在路上与人相遇,回头又没看见 梦见自己在街上走迎面遇到过去的上司,互相打了个招呼,是什么意思? 梦见自己在路上走遇到很多个送到山上埋的大队好不好? NTAG213景区纪念手环哪家质量好啊?出货的话具体是几天? 手机蓝牙连接运动手环配对出现“pIN码或密钥错误”的提示是什么原因? 同事在墨戎苗寨买了个手镯,感觉真的很漂亮,那边银饰很好么? 景区票务系统是怎么促进景区二次消费的? 深圳欢乐谷有快速通道手环吗