android - 从命令行删除持久僵尸进程

标签 android linux ubuntu process adb

我定期运行 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 才能干净地退出。

关于android - 从命令行删除持久僵尸进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9481545/

相关文章:

python - Mac OS X上的Rec Linux命令

php - 目录更新后 Poedit 崩溃

php - 只读 php.ini 文件阻止保存新配置

android - 回收器 View 滚动但未滚动到末尾

android - 指南针在 android 中不起作用

c++ - 当退出时 C++ 中的库不是 "cleaned up"时会发生什么

laravel - 如何在 Ubuntu Server 20.04 上将 Apache 虚拟主机设置为 Laravel?

ubuntu - 使用 .pem 从 AWS Instance SSH 到 AWS Instance 要求输入密码

java - 单击按钮后有什么方法可以向 build.prop 添加行?

java - 在注释中使用@hide 隐藏方法/类