サービスの終了に1分以上かかる

サービスの終了に1分以上かかる

起動時に特定のサービスを実行するLinuxベースのデバイスがありますが、adb shell shutdown -h nowコマンドを実行するとサービスの1つが終了するのに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まず内部で実行されているすべてのアプリケーションを正しく閉じようとします。その後、独自のキャッシュをダンプして終了します。ここで、ボトルネックはメモリリークや同様の問題があるアプリケーションである可能性が高いです。アプリケーションをデバッグする必要があります。

おすすめ記事