[Unit]
Description = "Twitter Automations Service"
After=network.target
[Service]
Restart=always
ExecStart=source /root/twitter_bot/venv/bin/activate && python3 /root/twitter_bot/main.py
ExecStop=deactivate
[Install]
WantedBy=multi-user target
Это содержимое моего файла twitter_bot.service. По каким-то причинам служба закрывается после запуска. Даже после некоторого исследования я понятия не имею, почему. Любая помощь приветствуется
Когда вы создаете виртуальную среду, например, в папке /path/to/venv
, у вас будут интерпретаторы Python в папке /path/to/venv/bin
. В ситуациях, когда вы не можете контролировать, как активировать venv
, вы можете напрямую использовать эти интерпретаторы в своем шебанге или в командной строке. Итак, вы можете изменить файл модуля, например:
[Unit]
Description = "Twitter Automations Service"
After=network.target
[Service]
Restart=always
WorkingDirectory=/root/twitter_bot/
ExecStart=/root/twitter_bot/venv/bin/python3 /root/twitter_bot/main.py
ExecStop=deactivate
[Install]
WantedBy=multi-user.target
source
— это синтаксис Bash, ноsystemd
обычно используетsh
для выполнения сценария оболочки.