2012-02-28 15 views
4

私は定期的にadbを実行し、時には動作を停止します。コマンドラインから永続ゾンビプロセスを削除します

$ ps aux 

user1 4175 0.0 0.0  0  0 ?  Zl Feb27 0:03 [adb] <defunct> 

このゾンビプロセスは、adbの処理を停止し、コンピュータを再起動せずにもう一度処理することはできません。

私はゾンビプロセスを '刈り取る'

kill 4175 
kill -9 4175 
kill-17 4175 

だけを送信しようとしています。

コンピュータを再起動せずにもう一度動作させるにはどうすればよいですか?また

、私が使用しています:

Linux user1 2.6.32-38-generiC#83-Ubuntu SMP Wed Jan 4 11:12:07 UTC 2012 x86_64 GNU/Linux 
+0

最新バージョンのADB(1.0.29)を使用すると、発生するゾンビ処理の頻度が減少しました。 – Stu

+0

最新バージョン($ adbバージョン:Android Debug Bridgeバージョン1.0.29)では、やはり機能しなくなる傾向があります。 – Zenexer

+0

これに関する最新情報はありますか?親プロセスを強制終了することは実行可能なオプションではないことを覚えておいてください。 – Zenexer

答えて

-1

ゾンビプロセスを刈り取るだけkillコマンドは、それが、その後、それを享受するために進めてまいりますinitにリペアレントになるので、その親を殺すものです。

本当に不可

それはしかし、カーネルスレッドです...

+0

次はどうすればいいですか?私は実際にあなたのポイントを得ていませんでした。 –

+0

@ Neeraj:...親を殺す。 –

+0

親がinitであるのは本当に良い考えではありません。これは私の場合、adbがなくなるたびに起こります。私は周囲に浮かんでいた不在のadbを気にしない。しかし、リブートするまではadbの実行を妨げます。 – aseq

0

私はまた、多くの場合、これを参照してください。これは、プログラムの終了時にスレッドがカーネルモードでスタックしているために発生します。あなたは、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が正常に終了するように変更する必要がありますと思います。

関連する問題