[ZX]
-
- Да это ведроид, можно сказать, однозадачная система. Если что то "надежно" зависло, то лучше перезапустить все, включая луникс. Но для этого надо root, чтобы мониторить из луникса. Средства для запуска/остановки стороннего приложения есть в Гудвин(84 знак., 29.03.2014 14:10)
- да рут есть. А куда программера ткнуть чтоб нашел как программно на перезагрузку послать? basilmak(87 знак., 29.03.2014 14:15 - 14:19)
- exec("/sbin/reboot") ? - fk0(29.03.2014 14:36)
- ну "Вопросы тут задаю я")) Я то в Андроиде на жабе не пишу) Спасибо! Отошлю программисту когда на связь выйдет - пусть думает. - basilmak(29.03.2014 14:40)
- Если есть root, то можно при старте запустить скрипт - демон, который (например, в лоб) проверяет периодически наличие файлика, который периодически же создает ваше приложение и удаляет его. При отсутствии такого файлика - reboot. fk0, как Гудвин(49 знак., 29.03.2014 14:30)
- да такую цель и задал 2 недели назад - приложение лог пишет - по нему можно понять живет оно или висит. Но допускаю мысль что и штатный способ в системе есть проверять приложение бежит или зависло - basilmak(29.03.2014 14:36)
- Если периодически пишется лог, то в мониторе проверять его размер. Если не добавился - перезагрузка. - Гудвин(29.03.2014 14:45)
- while (true) do_nothing(); -- оно бежит или зависло -- как отличить? Все ватчдоги работают по принципу, что программа сама должна периодически что-то делать осмысленное. - fk0(29.03.2014 14:38)
- ну есесно. Но не значит что самому нужно в прогу делать кусок новый для этого - она в операционке живет, обязана наверно откликаться на всякие сообщения, операционка ведь понимает када она зависла. - basilmak(29.03.2014 14:43)
- Если файлик не на tmpfs создавать, то лучше один раз при загрузке и пусть это будет unix domain socket или pipe. И дальше в него постоянно писать надо (а демон читать будет). Потому, что постоянные создания/удаления файлов на флеше кончатся fk0(21 знак., 29.03.2014 14:32)
- Ну да, естественно - tmpfs. Просто конечно же существуют более изящные способы - например, механизм событий. Но это надо хорошо знать матчасть :) - Гудвин(29.03.2014 14:38)
- В линуксе в чистом виде нет механизма событий, как в windows. Речь скорей о какой-то андроид-специфике на уровне библиотек. - fk0(29.03.2014 14:50)
- Ну да, естественно - tmpfs. Просто конечно же существуют более изящные способы - например, механизм событий. Но это надо хорошо знать матчасть :) - Гудвин(29.03.2014 14:38)
- да такую цель и задал 2 недели назад - приложение лог пишет - по нему можно понять живет оно или висит. Но допускаю мысль что и штатный способ в системе есть проверять приложение бежит или зависло - basilmak(29.03.2014 14:36)
- exec("/sbin/reboot") ? - fk0(29.03.2014 14:36)
- Вот так. В очумелых ручках ОС предназначенная для серверов превращается в однозадачный дос. - fk0(29.03.2014 14:16)
- да рут есть. А куда программера ткнуть чтоб нашел как программно на перезагрузку послать? basilmak(87 знак., 29.03.2014 14:15 - 14:19)
- ну годится путь перезапустить весь андроид - автозапуск нашей прогы программист вроде по включению освоил - basilmak(29.03.2014 14:05)
- Пускай изобразит приложение-монитор, работающий в фоне. В это приложение периодически посылать сообщение из основного приложения. Если не пришло вовремя, перезагрузить все. На чем пишет? На жабе полно примеров. Даже без root можно. Например вот: - Гудвин(29.03.2014 14:19, ссылка)
- спасибо - ткну его) А штатных способов отслеживания зависона нет? В Винде вроде можно задать настройки автоматического перезапуска службы если она зависнет. - basilmak(29.03.2014 14:23)
- Я такого не встречал. В маркете вроде есть приложения-мониторы для контроля трафика (при отсутствии - перезапуск 3G), контроля утечки памяти и.пр. Но это опять же сторонние. - Гудвин(29.03.2014 14:36)
- Есть, но это для нормальных демонов, а не андроид-программ. Андроидовские программы же могут стартовать по разным событиям и быть синглетонами. Т.е. ситуация такая, что если оно умерло -- заново запуститься. А не умерло -- будет существующая fk0(125 знак., 29.03.2014 14:35)
- спасибо - ткну его) А штатных способов отслеживания зависона нет? В Винде вроде можно задать настройки автоматического перезапуска службы если она зависнет. - basilmak(29.03.2014 14:23)
- Пускай изобразит приложение-монитор, работающий в фоне. В это приложение периодически посылать сообщение из основного приложения. Если не пришло вовремя, перезагрузить все. На чем пишет? На жабе полно примеров. Даже без root можно. Например вот: - Гудвин(29.03.2014 14:19, ссылка)
- Да это ведроид, можно сказать, однозадачная система. Если что то "надежно" зависло, то лучше перезапустить все, включая луникс. Но для этого надо root, чтобы мониторить из луникса. Средства для запуска/остановки стороннего приложения есть в Гудвин(84 знак., 29.03.2014 14:10)