🛠️ Restart=always настроен, но systemd больше не поднимает сервис
В status:
Main process exited, status=1/FAILURE
Scheduled restart job
Start request repeated too quickly
Причина не в том, что Restart=always перестал работать.
Restart attempts тоже подчиняются start rate limiting:
StartLimitIntervalSec=
StartLimitBurst=
Сценарий простой:
процесс стартует
→ быстро падает
→ systemd запускает его снова
→ стартов за короткий интервал слишком много
→ systemd блокирует следующий start
Главное — не перепутать причину и следствие.
Start request repeated too quickly объясняет, почему systemd сейчас не запускает unit.
Но первичная проблема — почему приложение много раз завершилось.
Проверьте:
systemctl status example.service
journalctl -u example.service
systemctl cat example.service
Ищите первое падение в серии:
— exit code;
— signal;
— Result;
— сообщение приложения перед exit;
— временную последовательность рестартов.
RestartSec= — пауза перед restart.
StartLimitIntervalSec= + StartLimitBurst= — ограничение числа запусков в интервале.
reset-failed может сбросить failed state и счётчики, но не исправляет приложение.
Типичная ошибка — сразу увеличить StartLimitBurst.
Если сервис падает из-за той же ошибки, вы просто продлите restart loop.
Вывод:
причина падения
→ Restart=
→ RestartSec=
→ частота start attempts
→ StartLimit*
→ только потом изменение unit
Сохраните, что проверять до изменения StartLimitBurst и StartLimitIntervalSec.
🔹🔹🔹🔹
В status:
Main process exited, status=1/FAILURE
Scheduled restart job
Start request repeated too quickly
Причина не в том, что Restart=always перестал работать.
Restart attempts тоже подчиняются start rate limiting:
StartLimitIntervalSec=
StartLimitBurst=
Сценарий простой:
процесс стартует
→ быстро падает
→ systemd запускает его снова
→ стартов за короткий интервал слишком много
→ systemd блокирует следующий start
Главное — не перепутать причину и следствие.
Start request repeated too quickly объясняет, почему systemd сейчас не запускает unit.
Но первичная проблема — почему приложение много раз завершилось.
Проверьте:
systemctl status example.service
journalctl -u example.service
systemctl cat example.service
Ищите первое падение в серии:
— exit code;
— signal;
— Result;
— сообщение приложения перед exit;
— временную последовательность рестартов.
RestartSec= — пауза перед restart.
StartLimitIntervalSec= + StartLimitBurst= — ограничение числа запусков в интервале.
reset-failed может сбросить failed state и счётчики, но не исправляет приложение.
Типичная ошибка — сразу увеличить StartLimitBurst.
Если сервис падает из-за той же ошибки, вы просто продлите restart loop.
Вывод:
причина падения
→ Restart=
→ RestartSec=
→ частота start attempts
→ StartLimit*
→ только потом изменение unit
Сохраните, что проверять до изменения StartLimitBurst и StartLimitIntervalSec.
🔹🔹🔹🔹