서비스가 종료되는 데 1분 이상 소요

서비스가 종료되는 데 1분 이상 소요

시작 시 특정 서비스를 실행하는 Linux 기반 장치가 있지만 adb shell shutdown -h now명령을 실행하면 서비스 중 하나가 종료되는 데 1분 이상 걸리는 것 같습니다.

서비스가 중단될 때 추가 지연을 일으키는 원인을 알 수 있는 방법이 있습니까?

다음은 서비스 종료 시 호출되는 데몬 파일의 일부입니다.

start-stop-daemon -K -n /usr/bin/service

로그에 다음이 표시됩니다.

A stop job is running for service (1min 8s / 1min 15s)
A stop job is running for service (1min 11s / 1min 15s)
A stop job is running for service (1min 15s / 1min 51s)
...

답변1

아니요, 이 작업을 수행하는 쉬운 방법은 없습니다. 일반적으로 애플리케이션 종료 프로세스에는 메모리 캐시 덤프, 파일 닫기, "닫았습니다" 메시지를 다른 프로세스로 보내는 등이 포함됩니다. 그것은 모두 응용 프로그램과 종료 방법에 따라 다릅니다.

이 경우 adb먼저 내부에서 실행 중인 모든 애플리케이션을 올바르게 닫으려고 시도합니다. 그 후 자체 캐시를 덤프하고 종료됩니다. 여기서 병목 현상은 메모리 누수 또는 유사한 문제가 있는 애플리케이션일 가능성이 높습니다. 애플리케이션을 디버그해야 합니다.

관련 정보