Как узнать, когда процесс завершился?

У меня есть процесс, который выводит журнал. Но иногда этот процесс завершался в устройстве Samsung. Я хочу воссоздать процесс, если этот процесс завершился. Я могу проверить, завершился ли процесс, используя следующий код.

if (process.toString().contains("hasExited=true, exitcode=1")) {
    // recreate process
}

Теперь я хочу знать, есть ли какая-либо функция обратного вызова, которая вызывается при выходе из процесса. Заранее спасибо.

0
0
174
1

Ответы 1

Если процесс завершается, я думаю, что это вызвано Системой из-за нехватки памяти / ресурсов (или из-за бездействия в некоторых ситуациях). Принадлежит ли процесс тому же приложению, которое вы создаете в качестве монитора для этого процесса, или это другой APK? Нет никакого обратного вызова / события, если процесс завершается из-за команды Kill () в системе, поэтому, если процесс принадлежит вам, вы можете создать одностороннюю непрерывную связь между процессом и вашим приложением-монитором. Таким образом, когда приложение-монитор не получает никаких данных от этого процесса, его следует считать убитым.

Спасибо за ваш быстрый ответ. Думаю, это мой процесс. Это не из разных APK. Подскажите ссылки по поводу вашего совета. Заранее спасибо.

Aung Thu Win 16.07.2018 09:46

Какие ссылки? Я думаю, вам нужно выбрать лучший способ связи между процессами "IPC" (en.m.wikipedia.org/wiki/Inter-process_communication), исходя из ваших навыков в разработке. Я думаю, что лучшее решение - использовать «Трубки», но я не знаю, знаете ли вы их.

emandt 16.07.2018 09:56

Спасибо за вашу помощь. Думаю, для меня это продвинутый уровень. Мне нужно узнать глубже.

Aung Thu Win 16.07.2018 10:26

Другие вопросы по теме