Supervisor — основные команды и базовая настройка

Краткая шпаргалка по Supervisor: установка, структура конфигов, управление процессами и часто используемые команды.
  # Установка (Ubuntu/Debian)
  sudo apt update
  sudo apt install supervisor

  # Проверка статуса сервиса
  sudo systemctl status supervisor

  # Основной конфиг
  /etc/supervisor/supervisord.conf

  # Конфиги программ (рекомендуется)
  /etc/supervisor/conf.d/*.conf

  # Пример конфига программы
  [program:worker]
  command=python /app/worker.py
  directory=/app
  autostart=true
  autorestart=true
  startsecs=5
  user=www-data
  stdout_logfile=/var/log/worker.out.log
  stderr_logfile=/var/log/worker.err.log
  environment=ENV=prod,DEBUG=0

  # Перечитать конфиги
  sudo supervisorctl reread
  sudo supervisorctl update

  # Управление процессами
  sudo supervisorctl status
  sudo supervisorctl start worker
  sudo supervisorctl stop worker
  sudo supervisorctl restart worker
  sudo supervisorctl tail worker
  sudo supervisorctl tail -f worker stderr

  # Полезные параметры program
  autostart=true        # запуск при старте supervisor
  autorestart=true     # автоперезапуск при падении
  startretries=3       # попытки запуска
  stopwaitsecs=10      # ожидание корректной остановки
  numprocs=1           # количество процессов
  process_name=%(program_name)s_%(process_num)02d

  # Перезапуск supervisor (редко нужен)
  sudo systemctl restart supervisor