[英]Remove persistent zombie process from the command line
我定期运行adb,有时它会停止工作。
$ ps aux
user1 4175 0.0 0.0 0 0 ? Zl Feb27 0:03 [adb] <defunct>
此僵尸进程停止了adb的工作,如果不重新启动计算机,我将无法再次使adb正常工作。
我尝试发送
kill 4175
kill -9 4175
kill-17 4175
但是没有什么能“收获”僵尸进程。
如何在不重新启动计算机的情况下使adb重新工作?
另外,我正在使用:
Linux user1 2.6.32-38-generic #83-Ubuntu SMP Wed Jan 4 11:12:07 UTC 2012 x86_64 GNU/Linux
我也经常看到这种情况。 这是由于程序退出时线程卡在内核模式下引起的。 您可以使用ps mx看到此内容:
# ps mx
17188 ? - 1:49 [adb] <defunct>
- - Zl 0:01 -
- - Dl 1:46 -
第二个线程的“ D”状态表明该线程处于内核模式,无法被杀死。 您可以在此处了解更多信息:
http://ntucsie2007.wikidot.com/linux-defunct-zombie-processes
不幸的是,我认为必须将adb更改为干净退出。
唯一能够kill
僵尸进程的kill
命令是杀死其父进程的命令,因为它随后将返回到init
并随后继续对其进行收获。
不过,当它是内核线程时,实际上是不可能的...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.