原文: How to kill defunct process

译者: youngsterxyf

defunct进程是指出错损坏的进程,父子进程之间不会再通信。有时,它们会演变成“僵尸进程”,存留在你的系统中,直到系统重启。可以尝试 “kill -9” 命令来清除,但多数时候不管用。

为了杀死这些defunct进程,你有两个选择:

  • 重启你的计算机
  • 继续往下读...

我们先看看系统中是否存在defunct进程:

$ ps -A | grep defunct

假设得到的输出如下所示:

 ? :: mono <defunct>
? :: mono <defunct>
? :: mono <defunct>
? :: ruby <defunct>
? :: ruby <defunct>
? :: ruby <defunct>

这意味着存在6个defunct进程:3个mono进程,以及3个ruby进程。这些进程之所以存在,可能是因为应用程序写得很烂或者用户做了不常见的操作,在我这,一定是我写的mono C#程序存在严重问题 :smile: 。

现在,我们来看看这些进程的ID及其父进程ID:

$ ps -ef | grep defunct | more

以上命令的输出如下:

UID PID PPID ...
--------------------------------------------------------------- kenno Mar22 ? :: [mono] <defunct>
kenno Mar22 ? :: [mono] <defunct>
kenno Mar23 ? :: [mono] <defunct>
kenno Mar27 ? :: [ruby] <defunct>
kenno Mar27 ? :: [ruby] <defunct>
kenno Apr02 ? :: [ruby] <defunct>
  • UID:用户ID
  • PID:进程ID
  • PPID:父进程ID

如果你使用命令 “kill -9 8328” 尝试杀死ID为8328的进程,可能会没效果。要想成功杀死该进程,需要对其父进程(ID为6757)执行kill命令( $ kill -9 6757 )。对所有这些进程的父进程ID应用kill命令,并验证结果( $ ps -A | grep defunct )。

如果前一个命令显示无结果,那么搞定!否则,可能你需要重启一下系统。

参考文献


译注

执行命令 ps aux | grep defunct ,如果进程为defunct,则其第8列为 。如下所示:

work       0.1  0.0            pts/    Z    :   : [python] <defunct>
work 0.0 0.0 pts/ Z : : [python] <defunct>
work 0.0 0.0 pts/ Z : : [python] <defunct>
work 0.1 0.0 pts/ Z : : [python] <defunct>
work 0.0 0.0 pts/ Z : : [python] <defunct>
work 0.1 0.0 pts/ Z : : [python] <defunct>
work 0.0 0.0 pts/ Z : : [python] <defunct>
work 0.1 0.0 pts/ Z : : [python] <defunct>
work 0.0 0.0 pts/ Z : : [python] <defunct>
work 0.1 0.0 pts/ Z : : [python] <defunct>
work 0.0 0.0 pts/ Z : : [python] <defunct>
work 0.0 0.0 pts/ Z : : [python] <defunct>
work 0.0 0.0 pts/ Z : : [python] <defunct>
work 0.0 0.0 pts/ Z : : [python] <defunct>
work 0.0 0.0 pts/ Z : : [python] <defunct>
work 0.0 0.0 pts/ Z : : [python] <defunct>
work 0.0 0.0 pts/ Z : : [python] <defunct>
												

如何杀死defunct进程的更多相关文章

  1. Kill杀死Linux中的defunct进程(僵尸进程)

    一.什么是defunct进程(僵尸进程)? 在 Linux 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他,那么他将变成一个僵尸进程.当用ps命令观察进程的执行状 ...

  2. Linux中的defunct进程(僵尸进程)

    一.什么是defunct进程(僵尸进程)?在 Linux 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他,那么他将变成一个僵尸进程.当用ps命令观察进程的执行状态 ...

  3. 杀死Linux中的defunct进程(僵尸进程)的方法指南

    杀死Linux中的defunct进程(僵尸进程)的方法指南_LINUX_操作系统_脚本之家https://www.jb51.net/LINUXjishu/457748.html 这样能看到僵尸进程.

  4. 僵尸进程的产生和避免,如何kill杀掉linux系统中的僵尸defunct进程

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

  5. Linux Guard Service - 杀死守护进程

    杀死某个子进程 杀死守护进程的子进程后,改进程会变为僵尸进程 14087 ? Ss 0:00 ./test4-1 14088 ? S 0:00 \_ ./test4-1 14089 ? S 0:00 ...

  6. (转)[sh] <defunct>进程

    我也碰到僵尸进程了,必须通过关闭僵尸进程的父进程或者重启解决. 来自:http://jerrybear.blog.51cto.com/629421/387846 今日发现服务器上多了一些名称为[sh] ...

  7. 【zombie】如何查看并杀死僵尸进程?

    [zombie]如何查看并杀死僵尸进程? 赏金Micheal关注 2019.03.31 19:40:15字数 1,016阅读 4,373 僵尸进程定义 In UNIX System terminolo ...

  8. window 和 linux 环境下杀死tomcat进程——也可以解决其他端口被占用的问题

    1.应用场景 在Windows或者linux操作系统中,我们在启动一个tomcat服务器时,经常会发现8080端口已经被占用的错误,而我们又不知道如何停止这个tomcat服务器. 2.window环境 ...

  9. webDriver 执行杀死浏览器进程方法

    /**     * 执行dos命令     * @param command     */    public static void command(String command) {       ...

随机推荐

  1. Hadoop- MapReduce在实际应用中常见的调优

    1.Reduce Task Number 通常来说一个block就对应一个map任务进行处理,reduce任务如果人工不去设置干预的话就一个reduce.reduce任务的个数可以通过在程序中设置   ...

  2. CodeForces - 1005E2:Median on Segments (General Case Edition) (函数的思想)

    You are given an integer sequence a1,a2,…,ana1,a2,…,an. Find the number of pairs of indices (l,r)(l, ...

  3. BZOJ_2802_[Poi2012]Warehouse Store_堆+贪心

    BZOJ_2802_[Poi2012]Warehouse Store_堆+贪心 Description 有一家专卖一种商品的店,考虑连续的n天. 第i天上午会进货Ai件商品,中午的时候会有顾客需要购买 ...

  4. CDN网络原理

    1.用户向浏览器输入www.web.com这个域名,浏览器第一次发现本地没有dns缓存,则向网站的DNS服务器请求: 2.网站的DNS域名解析器设置了CNAME,指向了www.web.51cdn.co ...

  5. Spring boot 2.0 学习

    Spring boot 2.0出来了,支持java 9, 好多新特性,应该学习.   待续... ...

  6. Linux 包管理基础:apt、yum、dnf 和 dpkg

    https://linux.cn/article-8782-1.html 1. apt-get 安装( 在线) 会帮我把所有的依赖包都一起安装 apt-get install xxx 安装xxx .如 ...

  7. [yii]Trying to get property of non-object

    今天接触gridview的时候,发现总是报错,如图. array( 'name'=>'user_info.userinfo', 'value'=>'$data->user_info- ...

  8. <c和指针>学习笔记2之数据和语句

    1 语句 (1)空语句----->本身只包含一个分号 (2)表达式语句 在表达式后面加上一个分号就可以把表达式转变为语句 (3)代码块 位于一对花括号之内的可选的声明和语句列表 (4)if语句 ...

  9. HDU - 1176 免费馅饼 DP多种状态转移

    免费馅饼 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内.馅饼如果掉在了 ...

  10. iOS证书和描述文件的配置

    1.登录Apple开发者账号,进入Apple Developer主页,点击Account 2.点击Certificates,ID&Profiles 3.生成CRS文件 1.打开mac上的钥匙串 ...