GavriKos
@GavriKos

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

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы
Smartex Москва
от 150 000 до 250 000 ₽
Платформа НТИ Москва
от 140 000 до 180 000 ₽
Spectrum Екатеринбург
от 130 000 до 200 000 ₽