Linux系统中杀死僵尸进程的方法
在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系统中杀死僵尸进程的方法相关推荐
- linux僵尸进程理解,聊聊Linux系统中的僵尸进程
车祸现场 今天下午,笔者正在认真搬砖,日志集群中有一台机器忽然报init进程占用100% CPU.strace之,发现疯狂输出如下系统调用. ~ strace -p 1 rt_sigprocmask( ...
- linux查看pid对应的进程,linux系统中快速查看进程pid的方法
linux系统中快速查看进程pid的方法 一个很简单的'命令,pgrep,可以迅速定位包含某个关键字的进程的pid:使用这个命令,再也不用ps aux 以后去对哪个进程的pid了 用法: pgrep ...
- linux shell中清理僵尸进程
2019独角兽企业重金招聘Python工程师标准>>> 今天登录到服务器上时,系统打印有6 zombie processes存在,于是用kill -9去清理掉这些僵尸进程,命令执行完 ...
- dragon编译linux,在Linux系统中安装Alibaba Dragonwell8的方法
本文介绍在Linux系统中安装Alibaba Dragonwell8的方法,包括更新方法.它是阿里巴巴自己的JDK,是OpenJDK的下游版本,完全开源.以下在Ubuntu 18.04上经过了测试,也 ...
- 在linux终端中重命名文件,Linux系统中重命名文件的方法有哪些
今天小编要跟大家分享的文章是关于Linux系统中重命名文件的方法有哪些.正在从事Linux运维工作和学习Linux运维知识的小伙伴们来和小编一起看一看吧,希望本篇文章能够对大家有所帮助. 在Linux ...
- 多linux系统的安装方法,在Linux系统中安装使用WPS的方法
这篇文章主要介绍了在Linux系统中安装使用WPS的方法,在Linux上缺少微软的office的情况下,WPS实为办公文件处理的不二选择,需要的朋友可以参考下 Kingsoft Office 是一套办 ...
- 在 Linux 系统中查找 MAC 地址的方法
参考文章: 多种方法在Linux上找到MAC地址 引言: MAC(Media Access Control)地址是网络设备(如网卡)的唯一标识符,用于在局域网中进行通信.在 Linux 系统中,有几种 ...
- java defunct怎么杀掉_僵尸进程的产生和避免,如何kill杀掉linux系统中的僵尸defunct进程...
在 Unix系统管理中,当用ps命令观察进程的执行状态时,经常看到某些进程的状态栏为defunct,这就是所谓的"僵尸"进程."僵尸"进程是一个早已 死亡的进程 ...
- .gpg 进程 linux,小知识之Linux系统中的最大进程数,最大文件描述,最大线程数...
今天来了解一下linux里面的一些小知识: (一)Linux系统中最大可以起多少个进程? (1)32位系统中最多可以起32768个进程 (2)64位系统中最多可以起2的22次方(4194304)约42 ...
最新文章
- 除非换行符在格式字符串中,否则为什么在调用后printf不会刷新?
- 给你一份长长长的 Spring Boot 知识清单(上)
- 深入浅出python机器学习_9.1.5_通过数据预处理提高模型的准确率_MinMaxScaler
- VCL组件之TLabel、TStaticText和TLabeledEdit
- 打印机一直显示正在打印中_中国和桌面3D打印机正在引领3D打印市场
- hdfs读写流程_一文读懂HDFS分布式存储框架分析
- 【iCore3应用开发平台】发布 iCore3 应用开发平台出厂代码rev0.0.2
- 动态路由接收前台传值
- IT人士十大不良饮食习惯及改进建议
- UVa1592 数据库(摘)
- 2014年计算机一级考试题目,2014年计算机一级考试WPS及基础模拟试题(2)
- efi文件错误服务器崩溃,[转自百度]关于系统安装时候弹出提示winload.efi文件损坏...
- 使用sm2签名并验签efi文件
- 信号处理电路整理(RC、运放、TTL)
- SublimeText集成印象笔记插件简略步骤
- 【python】画图保存为emf
- 利用openpyxl在Excel文件中批量复制模板表格
- 织梦木马 data.php,DedeCMS后门木马专杀工具V2.0
- 谷歌开始卷自己,AI架构Pathways加持,推出200亿生成模型
- Bootstrap4 安装方式
热门文章
- python学生类有个计算器属性_【提问】做一个计算器程序,明明有属性,可就是提示no attribute...
- 篡改referer,踩了Chrome85修改referer策略的坑
- IDEA最详细配置让开发效率起飞,建议收藏!
- 【Oracle】Over函数的用法
- 【转】M8软件开发经验总结:移植黄金岛斗地主的经验分享
- 页面上pageX、offsetLeft等的使用方法
- WiFi 管理帧(三)(动态频谱切换-DFS - 802.11h)
- 洛谷 P5306 [COCI2019] Transport 题解
- IDEA spring之p命名空间注入
- windowsAPI之OpenProcessToken,AdjustTokenPrivileges 和LookupPrivilegeValue转