2017-02-08 1 views
1

껍질에서 안드로이드의 불필요한 서비스/프로세스를 죽일 수있는 방법을 찾으려고합니다. 문제는 프로세스를 종료 한 후 몇 초 후에 다시 시작된다는 것입니다. 안드로이드에서 껍질로 프로세스 죽이기

예를 들어 나는 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가 다시 시작됩니다.

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

당신이 다음 당신이 확실히 알고 scheduling restart of crashed service in X seconds 라인을 따라 뭔가를 볼 경우

당신은 장치에서 로그 캣를 당겨 서비스의 이름을 grepping하여 확인하실 수 있습니다 당신은 죽일 시도 운영 체제에 의해 서비스가 다시 시작됩니다.

실제로 그런 경우라면, 뿌리가 맞지 않는 장치에서 완전히 죽일 수 있습니다. (뿌리 박힌 장치에서이를 달성하는 방법을 모르겠다.)

관련 문제