在linux系统管理中,当用ps命令观察进程的执行状态时,经常看到某些进程的状态栏为defunct,这就是所谓的“僵尸”进程。“僵尸”进程是一个早已 死亡的进程,但在进程表(processs table)中仍占了一个位置(slot)。由于进程表的容量是有限的,所以,defunct进程不仅占用系统的内存资源,影响系统的性能,而且如果其数 目太多,还会导致系统瘫痪。

我们知道,每个linux进程在进程表里都有一个进入点(entry),核心程序执行该进程时使用到的一切信息都存储在进入点。当用ps命令察看系统中的进程信息时,看到的就是进程表中的相关数据。当以fork()系统调用建立一个新的进程后,核心进程就会在进程表中给这个新进程分配一个进入点,然后将相关信息存储在该进入点所对应的进程表内。这些信息中有一项是其父进程的识别码。当这个进程走完了自己的生命周期后,它会执行exit()系统调用,此时原来进 程表中的数据会被该进程的退出码(exit code)、执行时所用的CPU时间等数据所取代,这些数据会一直保留到系统将它传递给它的父进程为止。由此可见,defunct进程的出现时间是在子进 程终止后,但是父进程尚未读取这些数据之前。

defunct进程是不能直接kill -9杀掉的,否则就不叫僵尸进程了。

知道了defunct进程产生的原因,就可以轻易的kill掉defunct进程。

方法有二:

1,重启服务器电脑,这个是最简单,最易用的方法,但是如果你服务器电脑上运行有其他的程序,那么这个方法,代价很大。
  所以,尽量使用下面一种方法。

2,找到该defunct僵尸进程的父进程,将该进程的父进程杀掉,则此defunct进程将自动消失。

如何找到defunct僵尸进程的父进程?很简单,一句命令就够了:ps -ef | grep defunct_process_pid。

Linux系统中杀死僵尸进程的方法相关推荐

  1. linux僵尸进程理解,聊聊Linux系统中的僵尸进程

    车祸现场 今天下午,笔者正在认真搬砖,日志集群中有一台机器忽然报init进程占用100% CPU.strace之,发现疯狂输出如下系统调用. ~ strace -p 1 rt_sigprocmask( ...

  2. linux查看pid对应的进程,linux系统中快速查看进程pid的方法

    linux系统中快速查看进程pid的方法 一个很简单的'命令,pgrep,可以迅速定位包含某个关键字的进程的pid:使用这个命令,再也不用ps aux 以后去对哪个进程的pid了 用法: pgrep ...

  3. linux shell中清理僵尸进程

    2019独角兽企业重金招聘Python工程师标准>>> 今天登录到服务器上时,系统打印有6 zombie processes存在,于是用kill -9去清理掉这些僵尸进程,命令执行完 ...

  4. dragon编译linux,在Linux系统中安装Alibaba Dragonwell8的方法

    本文介绍在Linux系统中安装Alibaba Dragonwell8的方法,包括更新方法.它是阿里巴巴自己的JDK,是OpenJDK的下游版本,完全开源.以下在Ubuntu 18.04上经过了测试,也 ...

  5. 在linux终端中重命名文件,Linux系统中重命名文件的方法有哪些

    今天小编要跟大家分享的文章是关于Linux系统中重命名文件的方法有哪些.正在从事Linux运维工作和学习Linux运维知识的小伙伴们来和小编一起看一看吧,希望本篇文章能够对大家有所帮助. 在Linux ...

  6. 多linux系统的安装方法,在Linux系统中安装使用WPS的方法

    这篇文章主要介绍了在Linux系统中安装使用WPS的方法,在Linux上缺少微软的office的情况下,WPS实为办公文件处理的不二选择,需要的朋友可以参考下 Kingsoft Office 是一套办 ...

  7. 在 Linux 系统中查找 MAC 地址的方法

    参考文章: 多种方法在Linux上找到MAC地址 引言: MAC(Media Access Control)地址是网络设备(如网卡)的唯一标识符,用于在局域网中进行通信.在 Linux 系统中,有几种 ...

  8. java defunct怎么杀掉_僵尸进程的产生和避免,如何kill杀掉linux系统中的僵尸defunct进程...

    在 Unix系统管理中,当用ps命令观察进程的执行状态时,经常看到某些进程的状态栏为defunct,这就是所谓的"僵尸"进程."僵尸"进程是一个早已 死亡的进程 ...

  9. .gpg 进程 linux,小知识之Linux系统中的最大进程数,最大文件描述,最大线程数...

    今天来了解一下linux里面的一些小知识: (一)Linux系统中最大可以起多少个进程? (1)32位系统中最多可以起32768个进程 (2)64位系统中最多可以起2的22次方(4194304)约42 ...

最新文章

  1. 除非换行符在格式字符串中,否则为什么在调用后printf不会刷新?
  2. 给你一份长长长的 Spring Boot 知识清单(上)
  3. 深入浅出python机器学习_9.1.5_通过数据预处理提高模型的准确率_MinMaxScaler
  4. VCL组件之TLabel、TStaticText和TLabeledEdit
  5. 打印机一直显示正在打印中_中国和桌面3D打印机正在引领3D打印市场
  6. hdfs读写流程_一文读懂HDFS分布式存储框架分析
  7. 【iCore3应用开发平台】发布 iCore3 应用开发平台出厂代码rev0.0.2
  8. 动态路由接收前台传值
  9. IT人士十大不良饮食习惯及改进建议
  10. UVa1592 数据库(摘)
  11. 2014年计算机一级考试题目,2014年计算机一级考试WPS及基础模拟试题(2)
  12. efi文件错误服务器崩溃,[转自百度]关于系统安装时候弹出提示winload.efi文件损坏...
  13. 使用sm2签名并验签efi文件
  14. 信号处理电路整理(RC、运放、TTL)
  15. SublimeText集成印象笔记插件简略步骤
  16. 【python】画图保存为emf
  17. 利用openpyxl在Excel文件中批量复制模板表格
  18. 织梦木马 data.php,DedeCMS后门木马专杀工具V2.0
  19. 谷歌开始卷自己,AI架构Pathways加持,推出200亿生成模型
  20. Bootstrap4 安装方式

热门文章

  1. python学生类有个计算器属性_【提问】做一个计算器程序,明明有属性,可就是提示no attribute...
  2. 篡改referer,踩了Chrome85修改referer策略的坑
  3. IDEA最详细配置让开发效率起飞,建议收藏!
  4. 【Oracle】Over函数的用法
  5. 【转】M8软件开发经验总结:移植黄金岛斗地主的经验分享
  6. 页面上pageX、offsetLeft等的使用方法
  7. WiFi 管理帧(三)(动态频谱切换-DFS - 802.11h)
  8. 洛谷 P5306 [COCI2019] Transport 题解
  9. IDEA spring之p命名空间注入
  10. windowsAPI之OpenProcessToken,AdjustTokenPrivileges 和LookupPrivilegeValue转