记录一次僵尸进程
直接出现僵尸进程 77个
瞬间傻逼了, 这是多么奇葩!!
赶紧看下 这些进程是啥
ps -elf |grep Z 查看
发现没---都是同一个, 其父进程也是同一个。
在回想一下 僵尸进程怎么产生的----- 进程退出的时候,其资源没有被回收,也就是 其task_struct资源没有被销毁。进程处理Z 状态。
所以此时 发出kill 信号肯定是没用的。
那怎么处理呢??
我们在想一想,防止出现僵尸进程的方法,
1、父进程使用wait()或者waitpid()之类的函数等待子进程退出 /使用信号函数sigaction为SIGCHLD设置wait处理函数
2、设置SIGCHLD信号为SIG_IGN(即,忽略SIGHLD信号),系统将不产生僵尸进程,
3、孤儿进程,是init进程接管孤儿进程
所以解决办法就是: 将这些僵死进程的父进程 给kill掉 让init进程来回收资源
kill -9 3468 后
top 可以看到 僵尸进程位0
同时 此时代码需要处理.将进程多次fork后在处理
留下一个问题: 为什么父进程没有回收子进程???
http代理服务器(3-4-7层代理)-网络事件库公共组件、内核kernel驱动 摄像头驱动 tcpip网络协议栈、netfilter、bridge 好像看过!!!!
但行好事 莫问前程
--身高体重180的胖子
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· MySQL下200GB大表备份,利用传输表空间解决停服发版表备份问题
· 记一次 .NET某固高运动卡测试 卡慢分析
· 微服务架构学习与思考:微服务拆分的原则
· 记一次 .NET某云HIS系统 CPU爆高分析
· 如果单表数据量大,只能考虑分库分表吗?
· 7 个最近很火的开源项目「GitHub 热点速览」
· DeepSeekV3:写代码很强了
· MySQL下200GB大表备份,利用传输表空间解决停服发版表备份问题
· Visual Studio 2022 v17.13新版发布:强化稳定性和安全,助力 .NET 开发提
· 让 AI 对接 MySQL 数据库实现快速问答对话