Существует ли какая-либо причина, по которой программный процесс или процесс выключения (или перезагрузки) командной строки в Android 7.1 может случайно привести к резкому зависанию, требующему длительного (~ 8 секунд) нажатия кнопки питания для принудительного выключения? Это происходит не каждый раз, но, кажется, случайно случается нечасто, но достаточно часто, чтобы быть проблемой.
Если бы это был чистый Linux, я мог бы предположить, что проблема в зависшей операции un-mount или чем-то в этом роде. Есть идеи как отследить причину?
Справочная информация ...
Я разрабатываю планшет в стиле "киоск", который работает круглосуточно и без выходных. Он укоренился, и я полностью контролирую его. Он также имеет настройку поставщика для автоматического включения при подключении питания.
Чтобы все было свежо и отзывчиво, я хочу выполнить команду ночной перезагрузки. Первоначально команда reboot была просто вызовом /system/bin/reboot -p
через службу моего собственного приложения «watchdog», которая всегда работает в фоновом режиме. (Да, я знаю, что -p вызывает отключение планшета, но затем наша автоматическая загрузка автоматически включит его, если питание подключено, что приведет к ситуации перезагрузки ... при полной перезагрузке без -p вызывает больше проблем)
Во всяком случае, с тех пор я перешел к экспериментам со всеми следующими командами, чтобы вызвать выключение / перезагрузку, и ни одна из них не решает проблему на самом деле.
/system/bin/setprop sys.powerctl shutdown
/system/bin/svc power shutdown
/system/bin/am start -a android.intent.action.ACTION_REQUEST_SHUTDOWN
/system/bin/busybox poweroff -f
/system/bin/busybox poweroff -d 10 -f
Еще одна информация ... Я сделал приложение, чтобы выключать / перезагружать устройство каждые пять минут. Я запускал его примерно на дюжине устройств, и каждые 4 часа происходило около 4 или 5 сбоев.