Linux中为何会产生zombie,解决方法是什么
Admin 2022-07-20 群英技术资讯 956 次浏览
这篇文章主要讲解了“Linux中为何会产生zombie,解决方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux中为何会产生zombie,解决方法是什么”吧!linux产生zombie(僵尸进程)的原因是:父进程产生子进程后,子进程先于父进程退出,但父进程没有处理子进程发出的退出信号,因此子进程就会被称为僵尸进程;此时使用root身份也不能kill杀死进程,可以通过杀死子进程的父进程来解决。

本教程操作环境:linux7.3系统、Dell G3电脑。
产生原因:
僵尸进程,英文名zombie process,顾名思义就是死掉的进程。那么僵尸进程究竟是什么产生的呢
僵尸进程产生的原因就是父进程产生子进程后,子进程先于父进程退出,但是父进程由于种种原因,并没有处理子进程发送的退出信号,那么这个子进程就会成为僵尸进程。
这个是所谓的zombie(僵尸进程)是指在fork()/execve()过程中,假设子进程结束时父进程仍存在,而父进程fork()之前既没安装SIGCHLD信号处理函数调用waitpid()等待子进程结束,又没有显式忽略该信号,则子进程成为僵尸进程,无法正常结束,此时即使是root身份kill -9也不能杀死僵尸进程。补救办法是杀死僵尸进程的父进程(僵尸进程的父进程必然存在),僵尸进程成为”孤儿进程”,过继给1号进程init,init始终会负责清理僵尸进程。
僵尸进程是指的父进程已经退出,而该进程dead之后没有进程接受,就成为僵尸进程.(zombie)进程
解决方法:
(1) 父进程通过wait和waitpid等函数等待子进程结束,这会导致父进程挂起。
执行wait()或waitpid()系统调用,则子进程在终止后会立即把它在进程表中的数据返回给父进程,此时系统会立即删除该进入点。在这种情形下就不会产生defunct进程。
(2) 如果父进程很忙,那么可以用signal函数为SIGCHLD安装handler。在子进程结束后,父进程会收到该信号,可以在handler中调用wait回收。
(3) 如果父进程不关心重点内容子进程什么时候结束,那么可以用signal(SIGCLD, SIG_IGN)或signal(SIGCHLD, SIG_IGN)通知内核,自己对子进程的结束不感兴趣,那么子进程结束后,内核会回收,并不再给父进程发送信号
(4)fork两次,父进程fork一个子进程,然后继续工作,子进程fork一个孙进程后退出,那么孙进程被init接管,孙进程结束后,init会回收。不过子进程的回收还要自己做。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
linux查看进程的方法:1、ps命令,查看静态的进程统计信息;2、top命令,查看进程动态信息;3、pgrep命令,根据特定条件查询进程PID信息;4、pstree命令,查看进程树,以树形结构列出进程信息。
当我们的服务器磁盘空间快满了,可能就需要新增一块磁盘了。但添加了新的磁盘不是立马就可以用的,需要进行一系列的操作:磁盘分区、格式化、挂载等操作。下面,我来和大家说下如何给linux系统添加新的分区分区分区前我们要找到新的磁盘名称。
Linux怎么查找影子文件并进入?Linux系统想要查找影子文件,并进入查看影子文件,该怎么操作呢?下面我们就来看看详细的教程,需要的朋友可以参考下
linux中查看ip的命令:1、ip命令,可以同时显示IPv4和IPv6地址,语法为“ip addr show”;2、hostname命令,可以查看主机名的IP地址,语法为“hostname -I”;3、ifconfig命令,可以查询和配置网络接口卡,语法为“ifconfig -a”;4、curl命令,是一款强大的http命令行工具,语法为“curl ifconfig.me”。
linux下关闭php服务的方法:执行【kill -INT `cat /usr/local/php/var/run/php-fpm .pid`】命令即可关闭php服务。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008