gpt4 book ai didi

android - 在 Android 中从 shell 终止进程

转载 作者:行者123 更新时间:2023-11-29 19:22:29 25 4
gpt4 key购买 nike

我试图找到一些方法来从 shell 中杀死 Android 中不必要的服务/进程。问题是,在终止进程后,它会在几秒钟后再次启动!

例如,我试图终止 batterywarning,但它继续重新启动:

root@w812a_kk:/ # ps  | grep batteryw
shell 17986 1 1044 364 c00601dc b6e9f094 S /system/bin/batterywarning
1|root@w812a_kk:/ # ps | grep batteryw
shell 17781 1 1044 364 c00601dc b6ee6094 S /system/bin/batterywarning
root@w812a_kk:/ # busybox killall batterywarning
root@w812a_kk:/ # ps | grep batteryw
1|root@w812a_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 中完成?

谢谢,

最佳答案

此服务可能以 STICKY 启动 - 它将在某个预定义的超时后由操作系统自动重启。

您可以通过从设备中拉出 logcat 并在其中查找您试图终止的服务的名称来检查它:

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

如果您看到类似 scheduling restart of crashed service in X seconds 的内容,那么您可以确定操作系统正在重启该服务。

如果确实如此,我怀疑您能否在非 root 设备上完全杀死它(我也不知道如何在 root 设备上实现这一点)。

关于android - 在 Android 中从 shell 终止进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42119844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com