原文: 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. <JAVA图像学习笔记>关于Graphics/Graphics2D以及简单的几何图像制作(一个简单钟表的实现)

    题外话:正好赶上OperatingSystem的作业要做一个模拟线程/进程调度的问题,决定用JAVA实现才发现这些内容和之前学过的GUI制作是两码事儿- -b 通过学习java.swing库的Acti ...

  2. Sqooop- 使用Sqoop进行数据的导入导出

    Sqoop是Apache旗下的一个开源框架,专门用来做数据的导入和导出. 官网:https://sqoop.apache.org/ Sqoop的安装非常简单,只需要把下载下来的tar包解压设置两个环境 ...

  3. SFTP 文件上传下载引用代码

    http://sha1064616837.iteye.com/blog/2036996 http://www.cnblogs.com/itmanxgl/p/fe5d33512609fe540eb08a ...

  4. Codeforces Round #394 (Div. 2) 颓废记

    昨天晚上(今天凌晨),又忍不住去打CF.(本蒟弱到只能打Div.2)... 我觉得我可以用一个词概括我这次的CF: 呵呵 刚一开赛,我就codeforces访问失败.. 后来好不容易能上了,两三分钟才 ...

  5. BZOJ3295:[CQOI2011]动态逆序对

    浅谈树状数组与线段树:https://www.cnblogs.com/AKMer/p/9946944.html 题目传送门:https://www.lydsy.com/JudgeOnline/prob ...

  6. PHP调用Python快速发送高并发邮件

    1 简介 在PHP中发送邮件,通常都是封装一个php的smtp邮件类来发送邮件.但是PHP底层的socket编程相对于Python来说效率是非常低的.CleverCode同时写过用python写的爬虫 ...

  7. Ubuntu Hadoop环境搭建(Hadoop2.6.5+jdk1.8.0_121)

    1.JDK的安装 2.配置hosts文件(这个也要拷贝给所有slave机,scp /etc/hosts root@slave1:/etc/hosts) gedit /etc/hosts 添加: 122 ...

  8. Java的Socket通信(多线程)(1)

    如图: 思路: ①首先创建服务器端Socket,指定并侦听某一个端口,然后循环监听开始等待客户端的连接…. ②创建客户端socket,指定服务器地址和端口,然后获取输出流,向服务器端发送请求,并关闭s ...

  9. SQLServer 微软团队开源项目 (web 版?)

    http://www.codeplex.com/site/users/view/SQLTeamAdmin

  10. POJ-3187

    Backward Digit Sums Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7634   Accepted: 43 ...