• Centos7清理僵尸进程


    僵尸进程定义:
         In UNIX System terminology, a process that has terminated,but whose parent has not yet waited for it, is called a zombie.
         在UNIX 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他, 那么他将变成一个僵尸进程.  在fork()/execve()过程中,假设子进程结束时父进程仍存在,而父进程fork()之前既没安装SIGCHLD信号处理函数调用 waitpid()等待子进程结束,又没有显式忽略该信号,则子进程成为僵尸进程。
     
    如何查看linux系统上的僵尸进程,如何统计有多少僵尸进程?
    #ps -ef | grep defunct
    或者查找状态为Z的进程,Z就是代表zombie process,僵尸进程的意思。
    #ps -A -o stat,ppid,pid,cmd | grep -e '^ [Zz]'
    另外使用top命令查看时有一栏为S,如果状态为Z说明它就是僵尸进程。
    Tasks:  95 total,   1 running,  94 sleeping,   0 stopped,   0 zombie
    top命令中也统计了僵尸进程。或者使用下面的命令:
    ps -ef | grep defunct | grep -v grep | wc -l
     
    如何杀死僵尸进程呢?
    一般僵尸进程很难直接kill掉,不过您可以kill僵尸进程的父进程。父进程死后,僵尸进程成为”孤儿进程”,过继给1号进程init,init始终会负责清理僵尸进程.它产生的所有僵尸进程也跟着消失。
    ps -A -o stat,ppid,pid,cmd | grep -e '^ [Zz]' | awk '{print $2}' | xargs kill -9 
    ps -e -o ppid,stat | grep Z | cut -d” ” -f2 | xargs kill -9
    kill -HUP `ps -A -ostat,ppid | grep -e ’^[Zz]‘ | awk ’{print $2}’`

    做一个决定,并不难,难的是付诸行动,并且坚持到底。
  • 相关阅读:
    Nginx作为反向代理时传递客户端IP的设置方法
    通过VNC远程连接Linux实例
    【Office-Word妙手回春】Word文本秒转表格
    如何在Windows7安装U盘中加入USB3.0驱动的支持
    关注mainfest.mf的说明
    netty cs 过高优化
    查看MySql使用的数据库引擎
    DispatcherServlet--研究spring mvc 处理 流程必读源码
    PostConstruct,PreDestroy 注解处理器类 InitDestroyAnnotationBeanPostProcessor
    @autoware 注解处理器
  • 原文地址:https://www.cnblogs.com/wukc/p/14339641.html
Copyright © 2020-2023  润新知