吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 990|回复: 1
收起左侧

[讨论] Zombie Process

[复制链接]
古月不傲 发表于 2020-12-22 22:41

僵尸进程

什么是僵尸进程?

进程已经被杀死,生命周期结束,资源正常回收,但它的父进程还在运行,
操作系统就会认为父进程还会用到子进程的一些状态信息,就没有彻底清除它,
让父进程负责彻底回收,如果父进程没有进行处理,那么子进程就会处于一种僵死的状态

举例

当进程fork一个子进程时,此时会产生两个进程,一个父进程和一个子进程,子进程共享父进程的大部分资源
当进程正在运行中,如果杀死子进程的话,那么它的父进程会收到一个SIGCHLD信号,如果父进程没有调用wait,waitpid
函数处理的话,那么此时子进程就会变成僵尸进程

如何避免僵尸进程

僵尸进程虽然不会消耗太多的系统资源,但是它的一些状态信息还是会占用一些内存的,所以绝对要避免它
父进程通过拦截SIGCHLD信号对其进行处理,从而避免僵尸进程的产生

总结
  • 如果使用fork函数,那么就一定要处理SIGCHLD信号,避免产生僵尸进程

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

2iyuye 发表于 2020-12-23 00:34
这是在水贴吗?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 10:38

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表