GavriKos
@GavriKos

Как перезапустить python-деомна из него самого?

Всем привет.
Есть некий демон (служба? Как эта штука правильно называется) на питоне. Запускается через systemd. По некоему внутреннему триггеру непосредственно в скрипте нужно погасить демона, выполнить ряд команд, и запустить демона.

Для упрощения предметной области - это телеграмный бот с самоапдейтом из гита по команде пользователя.

Пробовал следующие реализации:
1) Из скрипта бота через subprocess.Popen (тут были разные варианты, не только Popen) запускается другой скрипт, который по идее должен не зависеть от текущего, и должен выполнить все нужные операции. Итог - основной демон стопится, но дальше ничего не происходит. Увы, логи тогда еще не снимались.
2) Из скрипта бота стартует (рестартует) другой демон, который уже и пытается выполнить нужные команды. Он стартует - это точно. Но логи пустые.

Собственно вопрос - как такую задачу в принципе правильнее решать?
  • Вопрос задан
  • 127 просмотров
Решения вопроса 1
@bacon
По мне, так не стоит так извращаться. Лучше напишите отдельный скрипт, который будет деплоить этого бота: скачивать новый код, что-то настраивать, перезапускать systemd unit этого бота.
ЗЫ этот отдельный скрипт не запускать через subprocess.Popen и т.п, а сделать отдельным демоном.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы