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

Unix/Linux系统中僵尸进程是如何产生的?有什么危害?如何避免

发布网友 发布时间:2022-04-25 17:11

我来回答

1个回答

热心网友 时间:2023-10-22 01:05

一个进程在调用exit命令结束自己的生命的时候,其实他并没有真正的被销毁,而是留下一个称为僵尸进程(Zombie)的数据结构(系统调用exit,他的作用是使进程退出,但是也仅仅限于一个正常的进程变成了一个僵尸进程,并不能完全将其销毁)。在linux进程的状态中,僵尸进程是非常特殊的一种,它已经放弃了几乎所有的内存空间,没有任何可执行代码,也不能被调度,仅仅在进程列表中保留一个位置,记载该进程的退出状态信息供其他进程收集,除此之外,僵尸进程不再占有任何存储空间。他需要他的父进程来为他收尸,如果他的父进程没有安装SIGCHLD信号处理函数调用wait 或 waitpid() 等待子进程结束,有没有显式忽略该信号,那么它就一直保持僵尸状态,如果这时候父进程结束了,那么init进程会自动接手这个子进程,为他收尸,他还是能被清除掉的。但是如果父进程是一个循环,不会结束,那么子进程就会一直保持僵尸状态,这就是系统中为什么有时候会有很多的僵尸进程。
避免zombie的方法
1)在svr4中,如果调用signal或是sigset将SIGCHLD的配置设置为忽略,则不会产生僵死子进程。另外,使用svr4版本sigaction,则可设置SA_NOCLDWAIT标志以避免子进程僵死。Linux中也可以使用这个,在一个程序开始调用这个函数signal(SIGCHLD,SIG_IGN);
2)调用fork两次
3)用waitpid等待子进程返回。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
中美有什么经济冲突 杨凌衡水实验中学高中学费是多少 蒂芙尼珍珠项链怎么清洗和保养? tiffany&co 的缺点 如何保养蒂芙尼的项链? tiffany保养要多久时间 Tiffany珠宝需要多长时间保养? 人为什么活着,怎样活着都是无憾!! 孩子犟的不行家长怎么教育 有什么比较好用的游戏视频录制软件? 适用于Windows的10个好用的游戏录制软件 linux进程僵死的原因有哪些? linux僵尸进程怎么杀 个人注册域名和公司注册域名有什么区别? 读书郎学习平板怎么什么游戏都可以下 读书郎学生平板电脑G5怎么下载游戏 读书郎学生平板C15能下载游戏吗? 读书郎学生平板可以下载大型游戏吗? 下载好的和平精英怎么才能安装成功在读书郎平板上 怎么样可以在读书郎平板上载和平精英 怎么在读书郎下载使命召唤 读书郎c30怎么下载游戏 OPPO手机图标大全? oppo哪款手机价格最高 这款OPPO手机是什么型号的? 孙子兵法的主要军事思想有哪些?古今中外运用这些军事思想成功的事例有哪些? 孙子兵法的主要军事思想有哪些?古今中外运用这些军事思想成功的事例有哪些? 为什么说《孙子兵法》是大谋略、大智慧 如何才运用好孙子兵法? <孙子兵法>全文加译文 <孙子兵法>全文加译文 linux进程中睡眠与 僵死的区别 如何linux的僵尸进程? 苹果手机怎么开启信任 怎么打开信任 苹果 有没什么小诀窍可以祛除鞋里的臭味呢 电容属于半导体吗 什么叫电容,电阻,二接管?它们的作用与好处是什么?有机与无机绝缘是什么?什么叫半导体,作用? 请问电阻电容电晶体电感芯片...之间有什么联系? 半导体行业如何和电子行业进行区分?因为要准确判断一家公司是属于半导体行业还是电子行业,谢谢! 电视机里的电路板上的电阻\电容等元件都属于集成电路吗? 电阻电容属于ic芯片吗 电路板是半导体制成的吗? 什么叫私有域名 私有域名有什么作用 “二极管”、“电阻”、“电容”是什么意思? 请问我的两个绑定在一个手,该怎么切换? 请问我的两个绑定在一个手,该怎么切换? 一个手怎么申请两个? 电容电阻属于IC么 一个手怎么申请两个? 一个手机同时用两个怎么弄