美文网首页
僵尸进程查杀

僵尸进程查杀

作者: genglintong | 来源:发表于2019-02-14 17:22 被阅读1次

僵尸进程,是指在Linux/Unix系统中,一个进程结束了,但是他的父进程没有等待(调用wait/waitpid)他,那么他将变成一个僵尸进程。

缘起

在学习top命令时,发现服务器系统有几个僵尸进程。 屏幕快照 2019-02-14 下午4.43.03.png

top命令参数解析

  • 第一行 当前时间(16:12:05)
  • 第一行 系统运行时间 (70天零一个半小时)
  • 第一行 当前登陆用户 (1 user)
  • 第一行 平均负载 (2.59 最近一分钟内 1.71 最近5分钟内 1.33 最近15分钟内 )
  • 第二行 任务(进程)数 总共 402个,一个正在运行 398哥休眠 3个僵尸进程
  • 第三行 CPU相关信息 (us 用户占比 ys 系统占比 ni 更改优先级进程占比 id 空闲占比 wa IO等待占比 hi 硬中断占比 si 软中断占比)
  • 第四行 内存相关信息(total 总内存 used 已使用 free 空闲内存 buffers 内存缓冲)
  • 第五行 swap 交换分区信息(交换区总量 使用量 空闲量 缓冲量)

查看僵尸进程并寻找原因

ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]'查看僵尸进程,发现三个僵尸进程

屏幕快照 2019-02-14 下午5.08.11.png
查看僵尸进程的父进程id,发现父进程为sendmail 产生的进程。再溯源找到sendmail的父进程为CROND,该进程为croud守护进程的子进程。
屏幕快照 2019-02-14 下午5.10.24.png 屏幕快照 2019-02-14 下午5.12.57.png 屏幕快照 2019-02-14 下午5.13.19.png
查找资料和服务器配置,发现服务器配置了很多的crontab 定时任务,有一些任务定义不规范,没有重定向到空设备上,导致大量的执行输出信息输出到标准输出上,写入/var/mail。触发了sendmail,把信息通过邮件发送,产生僵尸进程。修改为****** shell > /dev/null 2>&1即可。

杀掉僵尸进程

杀掉僵尸进程方法很简单,找到僵尸进程的父进程,将父进程kill掉即可。

kill -9 24637
kill -9 24641
kill -9 29055
# 批量杀掉僵尸进程
kill -HUP `ps -A -ostat,ppid | grep -e '^[Zz]' | awk '{print $2}'`
僵尸进程数 为0

由上图可知,僵尸进程已被杀死,系统僵尸进程数为0.

相关文章

  • 僵尸进程查杀

    僵尸进程,是指在Linux/Unix系统中,一个进程结束了,但是他的父进程没有等待(调用wait/waitpid)...

  • 僵尸进程处理方案

    僵尸进程介绍 Z(zombie)-僵尸进程(子进程终止,父进程没有wait子进程) 僵尸进程产生原因 僵尸进程是当...

  • 如何杀死僵尸进程?

    僵尸进程定义?查看僵尸进程,利用命令ps,可以看到有标记为Z(zombie)的进程就是僵尸进程。 僵尸进程的危害?...

  • 104-僵尸进程

    多进程编程要注意僵尸进程。子进程没有可执行代码后将变成僵尸进程,如果父进程一直运行,又没有处理僵尸进程的代码,僵尸...

  • linux上关闭僵尸进程

    查看所有僵尸进程: 之后kill -9杀死僵尸进程的父进程。

  • linux进程查杀

    kill -[信号] PID kill -1 123 (平滑重启123进程) killall [选项][信号] ...

  • 查杀进程

  • windows进程查杀

    1.netstat -ano |findstr 端口号,可以看到这个端口被哪个应用占用 2. ,通过id查找对应的...

  • Android进程管理篇(二)-进程查杀方式总结

    本篇文章简单总结一下Android系统查杀进程的方式。 一、进程查杀方式总结 注:AMS对应的应用层调用方法在Ac...

  • 孤儿进程、僵尸进程与进程回收

    孤儿进程与僵尸进程 孤儿进程:父亲死了,子进程被init进程领养僵尸进程:子进程死了,父进程没有回收子进程的资源(...

网友评论

      本文标题:僵尸进程查杀

      本文链接:https://www.haomeiwen.com/subject/onoeeqtx.html