Название: Перезапуск процесса Отправлено: sergek от Июль 20, 2017, 16:01 Коллеги,
для обновления ПО требуется перезапустить веб-сервер на малине под Linux. Обновление осуществляется через сам веб-сервер, который закачивает на сервер обновляемые модули, заменяет свой исполняемый файл (он один), после чего через QProcess запускает вспомогательный процесс, который, в свою очередь, останавливает веб-сервер и тут же его запускает. На этом задача вспомогательного процесса заканчивается, но он теряет своего родителя. Вроде бы, он должен превратиться в "зомби", однако некоторое время висит и завершается. Наверное, его прибивает init. Как по-вашему, такой способ перезапуска можно оставить или нужно сделать как-то по-другому? Что-то не приходит в голову другая схема. Разве что сделать вспомогательный процесс демоном - но тут, наверное, появятся свои заморочки. Или перезагружать малину, но у меня не получилось (я спрашивал тут http://www.prog.org.ru/topic_31471_0.html (http://www.prog.org.ru/topic_31471_0.html)). Название: Re: Перезапуск процесса Отправлено: qate от Июль 20, 2017, 23:34 написать bash скрипт - вышел сервер кодом 123 (после скачки всего нового) - значит обновление
другие коды также можно обработать Название: Re: Перезапуск процесса Отправлено: sergek от Июль 21, 2017, 09:10 Не понял, перезапуск выполнять через bash-скрипт? Но сам скрипт также будет запускаться через QProcess - что с ним будет, когда запускающий процесс умрет?
UPD. Вроде, если перевести задание в фон и отвязать от запускающего процесса, должно получиться. Я правильно понял? Все равно, спасибо за направление ;) Название: Re: Перезапуск процесса Отправлено: qate от Июль 21, 2017, 20:09 я имел ввиду, что изначально, при старте системы, стартует скрипт, который запускает приложение
если приложение завершается, то скритп анализирует код возврата или иные флаги (файлы), и выполняет действия затем опять идет запуск процесса таким образом и падения и обновления могут обрабатываться едино Название: Re: Перезапуск процесса Отправлено: sergek от Июль 21, 2017, 21:01 Мысль интересная, надо ее подумать ;) Спасибо.
|