Получить доступ

Как управлять сервисом через systemd и смотреть его логи?

JuniorLinux и диагностика
Ещё спрашивают так:
  • Как сделать, чтобы сервис перезапускался после падения?
Коротко

systemd — система инициализации и менеджер сервисов. Сервис описывают unit-файлом (/etc/systemd/system/app.service): команда запуска, пользователь, перезапуск (Restart=on-failure), зависимости, лимиты. Управление: systemctl start|stop|restart|status|enable. Логи: journalctl -u app -f.

  • enable — запуск при загрузке, start — сейчас
  • После изменения unit-файла — systemctl daemon-reload
  • journalctl --since "1 hour ago", -p err — фильтры по времени и уровню

А ещё В контейнерных средах эту роль играет оркестратор, а systemd остаётся на хостах

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

Ключевые параметры:

  • User — не запускать сервисы от root;
  • Restart=on-failure, RestartSec — автоматический перезапуск;
  • LimitNOFILE — лимит открытых файлов (частая причина «Too many open files» под нагрузкой);
  • TimeoutStopSec — сколько ждать после SIGTERM до SIGKILL;
  • After/Requires — порядок и зависимости.

Диагностика: systemctl status app (последние строки лога и код выхода), journalctl -u app -n 200, systemctl list-units --failed.

Таймеры systemd — альтернатива cron с логированием и зависимостями.

Пример

[Unit]
Description=Orders API
After=network-online.target

[Service]
User=orders
ExecStart=/opt/orders/bin/server
Restart=on-failure
RestartSec=5
Environment=APP_ENV=prod
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

Что хотят услышать

  • Unit-файл и основные параметры.
  • Команды управления и логи.
  • Перезапуск и лимиты.

Связанные вопросы

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем