Если вам нужно, чтобы процесс выполнялся вечно, независимо от того, вошли вы в систему или нет, рассмотрите возможность запуска процесса как демона.
supervisord - это отличное готовое решение, которое можно использовать для демонизации любого процесса. У него есть другая управляющая утилита supervisorctl
, которую можно использовать для мониторинга процессов, выполняемых супервизором.
Вам не нужно писать какой-либо дополнительный код или изменять существующие сценарии, чтобы эта работа работала. Более того, подробная документация значительно упрощает этот процесс.
После нескольких часов работы с python-демоном моя голова, supervisor - это решение, которое сработало для меня за несколько минут.
Надеюсь, это поможет кому-то, пытающемуся заставить работать python-демона