美文网首页
【kill】kill -9 杀不死的进程处理办法

【kill】kill -9 杀不死的进程处理办法

作者: Bogon | 来源:发表于2021-01-14 08:48 被阅读0次

    kill -9 发送SIGKILL信号给进程将其终止,但对于以下两种情况不适用:

    1.该进程是僵尸进程(STAT z),此时进程已经释放所有的资源,但是没有被父进程释放。

    僵尸进程要等到父进程结束,或者重启系统才可以被释放。

    2.进程处于“内核态”,并且在等待不可获得的资源,处于“内核态 ”的资源默认忽略所有信号,只能重启系统解决。

    进程在Linux 中会处于两种状态,即用户态和内核态。只有处于用户态的进程才可以用“kill”命令将其终止  

    一般可以用top命令发现动态进程表,其中zombie是僵尸进程:

    用ps和grep命令寻找僵尸进

    # ps -A -o  stat,ppid,pid,cmd

    #  ps  -A  -o  stat,ppid,pid,cmd | grep -e  '^[Zz]'

    命令注解:

    -A 参数列出所有进程

    -o 自定义输出字段 

    我们设定显示字段为 stat(状态), ppid(进程父id), pid(进程id),cmd(命令)这四个参数 因为状态为 z或者Z的进程为僵尸进程。

    我们使用grep抓取stat状态为zZ进程,使用 kill  -HUP ${pid} 来杀掉这个僵尸进程。

    相关文章

      网友评论

          本文标题:【kill】kill -9 杀不死的进程处理办法

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