永发信息网

编写一unix 程序,防止僵尸进程的出现.

答案:2  悬赏:60  手机版
解决时间 2021-04-02 15:40
编写一unix 程序,防止僵尸进程的出现.
最佳答案
子进程结束后,如果它的结束状态没有被父进程用wait,waitpid等系统调用来获取了话,此时这个子进程就叫zombie process.

下面的程序就演示了如何通过wait调用来获取子进程退出状态。在用户第一次回车之前,通过ps命令,应该可以看到子进程是 defunct 状态 (也就是zombie态),而一旦按下回车,wait被调用,此时通过ps命令就无法看到那个zombie了。所以防止zombie process的方法就是通过wait/waitpid等调用来解决。对这个程序有什么问题,可以baidu hi我。

#include
#include
#include

int main()
{
int pid;

pid = fork();

if (pid == 0)
{

printf("This is child process,pid=%d,bye!\n", getpid());
exit(0);
}

sleep(1);
printf("Press return to remove zombie process\n");
getchar();


wait(NULL);

printf("Press return to exit\n");
getchar();
return 0;
}
全部回答
编写一个自己的守护进程,定时去检查系统中是否有僵尸进程,如果发现有,就将其杀死
可以结合系统命令ps,kill等
不过有2个问题,首先有些进程是可能不响应信号的,kill可能杀不掉
另外,好像init进程本身就有这个功能?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
多吃山楂卷有什么好处
笑看红叶勿叹人生,静观落日莫问红尘.什么意
凤鸣朝阳训练营地址在什么地方,我要处理点事
考研是否该有一个考研团队
在一个地方工作老是做不下去怎么办啊
两人喝酒打架先动手的一方受伤当时没有报案,
NDSI进不了烧录卡,一进就黑屏,然后出现日文
2018年2月份放假一月份工资会发吗
蜡笔小新第五季什么时候更新?
汽车杀车是哪个部位
如何处理楼面与厨房的矛盾?
Java里面有类似LINQ的组件吗
靖康之耻到底给汉族带来多大的耻辱
太平洋险种分哪些夫妻护保
怎么cnki-study用久了就比较卡
推荐资讯
这情景出自哪部佛经?大目犍连来到光明幢佛刹
为什么好多男的喜欢捏女的手臂/:?
武昌起义又被称为什么?
春天保湿用什么,三草两木春生保湿套
骑楼建筑的特点和作用是什么?
2016年1月27日上午九点二十九出生,五行缺什么
=听说高思迪赛的首席设计师罗伟先生很不错呢
my里面y的发音是什么?
辅导班杂怎么排课供应,辅导班杂怎么排课商机
加密压缩文件如何用命令提示符打开
如图所示,两支相同的试管,内盛等质量的液体
读甲、乙两大工业基地图,完成下列问题.(1
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?