2017-02-08 8 views
1

Androidから不要なサービスやプロセスをシェルから削除する方法を見つけようとしています。 問題は、プロセスを強制終了した後、数秒後に再び開始されることです。例えばAndroidのシェルからプロセスを終了する

私はbatterywarningを殺そうとしたが、それが再び始まる保つ:

[email protected]_kk:/ # ps | grep batteryw 
shell  17986 1  1044 364 c00601dc b6e9f094 S /system/bin/batterywarning 
1|[email protected]_kk:/ # ps | grep batteryw 
shell  17781 1  1044 364 c00601dc b6ee6094 S /system/bin/batterywarning 
[email protected]_kk:/ # busybox killall batterywarning 
[email protected]_kk:/ # ps | grep batteryw 
1|[email protected]_kk:/ # ps | grep batteryw 
shell  17986 1  1044 364 c00601dc b6e9f094 S /system/bin/batterywarning 

私は次のリンクでのサービス/プロセスを殺すためにいくつかの方法を見つけた、まだプロセスが再び開始されます。

Android ADB stop application command like "force-stop" for non rooted device

init.rcでのみ行うことができますか?

おかげで、

答えて

1

このサービスは、おそらくSTICKYとして開始された - それは自動的にいくつかの事前定義されたタイムアウト後にOSによって再起動されます。

あなたは、デバイスからlogcatを引っ張り、あなたが殺すためにしようとしたサービスの名前のためにそれをgrepをすることによってそれを確認することができます:

$ adb logcat -d > logcat.txt 
$ grep -C 5 -i batterywarning logcat.txt 

あなたがラインscheduling restart of crashed service in X secondsに沿って何かを見るなら、あなたがいることを確実に知りますOSによってサービスが再開されています。

本当にそうだとすれば、私が根本的でないデバイスで完全にそれを殺すことはできません(私は根っからのデバイスでこれを達成する方法は分かりません)。

関連する問題