Сервис systemd — процесс под управлением системного менеджера: с правилами запуска, остановки, перезапуска и журналирования. Python запускают напрямую интерпретатором виртуального окружения, без активации shell.
Что такое сервис systemd и как оформить его для Python-скрипта?
Сервис systemd — процесс под управлением системного менеджера: с правилами запуска, остановки, перезапуска и журналирования. Python запускают напрямую интерпретатором виртуального окружения, без активации shell.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Сервис systemd — процесс под управлением системного менеджера: с правилами запуска, остановки, перезапуска и журналирования. Python запускают напрямую интерпретатором виртуального окружения, без активации shell.
Минимальный пример для заранее созданного пользователя app:
[Unit]
Description=Python worker
[Service]
Type=simple
User=app
WorkingDirectory=/opt/app
ExecStart=/opt/app/venv/bin/python -u /opt/app/worker.py
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Unit размещают в /etc/systemd/system/worker.service; после проверки выполняют daemon-reload и enable --now worker. Логи смотрят через journalctl -u worker. Пути, права, переменные окружения и обработку SIGTERM настраивают под приложение; секреты не кладут в публичный unit.