defunct进程的由来及处理
好记性不如烂笔头 记录一次defunct进程的由来及处理:
僵尸进程是一个早已 死亡的进程,但在进程表(processs table)中仍占了一个位置(slot)。
由于进程表的容量是有限的,所以,defunct进程不仅占用系统的内存资源,影响系统的性能,而且如果其数 目太多,还会导致系统瘫痪。
我们知道,每个Unix进程在进程表里都有一个进入点(entry),核心程序执行该进程时使用到的一切信息都存储在进入点。
当用ps命令察看系统中的进程信息时,看到的就是进程表中的相关数据。当以fork()系统调用建立一个新的进程后,核心进程就会在进程表中给这个新进程分配一个进入点,然后将相关信息存储在该进入点所对应的进程表内。这些信息中有一项是其父进程的识别码。
当这个进程走完了自己的生命周期后,它会执行exit()系统调用,此时原来进 程表中的数据会被该进程的退出码(exit code)、执行时所用的CPU时间等数据所取代,这些数据会一直保留到系统将它传递给它的父进程为止。
由此可见,defunct进程的出现时间是在子进 程终止后,但是父进程尚未读取这些数据之前。defunct进程是不能直接kill -9杀掉的,否则就不叫僵尸进程了。
知道了defunct进程产生的原因,就可以轻易的kill掉defunct进程。
方法有二:1,重启服务器电脑,这个是最简单,最易用的方法,但是如果你服务器电脑上运行有其他的程序,那么这个方法,代价很大。所以,尽量使用下面一种方法。2,找到该defunct僵尸进程的父进程,将该进程的父进程杀掉,则此defunct进程将自动消失。
defunct进程的由来及处理相关推荐
- linux下僵尸进程(Defunct进程)的产生与避免
在测试基于 DirectFB+Gstreamer 的视频联播系统的一个 Demo 的时候,其中大量使用 system 调用的语句,例如在 menu 代码中的 system("./play&q ...
- Linux下QProcess不产生finished信号、waitforfinished阻塞超时【defunct进程】
文章目录 项目场景: 问题描述以及分析过程: defunct(僵尸进程): QProcess的实现: 理论原因: 尝试修改一: 第一次痛定思痛: 尝试修改二: 第二次修改能满足要求: 使用startd ...
- Linux中的defunct进程(僵尸进程)
一.什么是defunct进程(僵尸进程)? 在 Linux 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他,那么他将变成一个僵尸进程.当用ps命令观察进程的执行状 ...
- 【linux】僵尸进程(Defunct进程)的产生与避免
一.什么是僵尸进程 在UNIX 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他,那么他将变成一个僵尸进程.当用ps命令观察进程的执行状态时,看到这些进程的状态栏为 ...
- 如何杀掉defunct进程
在Unix系统管理中,当用ps命令观察进程的执行状态时,经常看到某些进程的状态栏为defunct,这就是所谓的"僵尸"进程."僵尸"进程是一个早已死亡的进程,但 ...
- Kill杀死Linux中的defunct进程(僵尸进程)
一.什么是defunct进程(僵尸进程)? 在 Linux 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他,那么他将变成一个僵尸进程.当用ps命令观察进程的执行状 ...
- linux defunct 进程,Defunct进程(死进程)
Defunct进程(死进程) IBM网站有关Defunct进程(死进程)的问题确定 内容提要: 本文介绍了为什么会产生defunct进程,如何确定引起defunct进程的原因,以及当需要进一步确定问题 ...
- oracle下defunct,AIX僵死(defunct)进程故障分析(Aix)
故障描述: S80主机系统出现了大量的僵死(defunct)进程,由于这些进程不能自动终止,导致系统的进程数资源不能释放,因此,如果继续增多,到达系统设定的进程总数,用户的应用和生产将受到影响. 故障 ...
- java defunct怎么杀掉_杀死Linux中的defunct进程(僵尸进程)的方法指南
一.什么是defunct进程(僵尸进程)在 Linux 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他,那么他将变成一个僵尸进程.当用ps命令观察进程的执行状态时 ...
最新文章
- 一文览尽LiDAR点云目标检测方法
- 【SRM 716 DIV 1 A】 ConstructLCS
- Oracle 双机热备 镜像 纯软 实战 配置教程 配置手册
- 北京内推 | ​阿里达摩院智能计算实验室认知智能组招收多模态算法实习生
- boost::hana::is_valid用法的测试程序
- kubectl 安装
- 前端开发知识点解答-CSS-面试
- 信安教程第二版-第18章网络安全测评技术与标准
- Hashtable几种常用的遍历方法
- numpy mean
- 特征向量的归一化方法
- git远程仓库IP变更,修改本地git地址
- Struts原理与实践(7)[转]
- jedisPool相关参数说明
- vue打测试包和正式包的配置
- PHP中关于时间(戳)、时区、本地时间、UTC时间等梳理
- win10 安装“msi”文件提示 “Windows Installer无法打开此安装程序包。请确认该程序包存在,并且你有权访问它,或者与应用程序供应商联” error 2502 2503
- 中国首台千万亿次超级计算机,中国首台千万亿次超级计算机完成安装
- 自动驾驶中结构化BEV交通场景的理解(ICCV 2021)
- 《The Annotated Transformer》翻译——注释和代码实现《Attention Is All You Need》