Служба застряла в состоянии activating (auto-restart)
Состояние с пометкой автоматического перезапуска означает, что служба упала и ждёт следующей попытки. Она не работает, но и не помечена упавшей, поэтому простые проверки состояния показывают всё в порядке. Понять происходящее можно только по числу перезапусков.
Вероятные причины
По порядку: сверху то, что встречается чаще.
-
Служба падает и перезапускается по кругу
Каждая попытка заканчивается падением, после чего выжидается задержка. Состояние колеблется между запуском и ожиданием.
-
Предел частоты запусков не задан
Без предела цикл продолжается бесконечно и заполняет журнал. С пределом служба перейдёт в состояние сбоя и остановится.
-
Проверки состояния не замечают цикла
Проверка на активность проходит, проверка на сбой тоже. Служба при этом не работает.
Диагностика
Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.
Число перезапусков, задержка и результат последней попытки.
systemctl show myapp.service -p NRestarts -p RestartSec -p ResultПадения и перезапуски по порядку.
journalctl -u myapp.service -n 40 --no-pagerТекущее состояние с пометкой ожидания перезапуска.
systemctl status myapp.service --no-pager | head -8Решение
Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.
- Почему происходит
- Каждая попытка заканчивается падением, после чего выжидается задержка. Состояние колеблется между запуском и ожиданием.
- Как проверить
-
Посмотрите число перезапусков и последние падения.
systemctl show myapp.service -p NRestarts -p RestartSec -p Result journalctl -u myapp.service -n 30 --no-pager | tail -15
- Как исправить
- Разберите причину падения по журналу. Увеличение задержки между попытками только замедляет цикл, не устраняя его.
- Почему происходит
- Без предела цикл продолжается бесконечно и заполняет журнал. С пределом служба перейдёт в состояние сбоя и остановится.
- Как проверить
-
Посмотрите настройки предела частоты.
systemctl show myapp.service -p StartLimitIntervalSec -p StartLimitBurst
- Как исправить
-
Задайте предел частоты запусков: он превращает бесконечный цикл в явный сбой, который видно проверками.
[Unit] StartLimitIntervalSec=60 StartLimitBurst=5
- Почему происходит
- Проверка на активность проходит, проверка на сбой тоже. Служба при этом не работает.
- Как проверить
-
Посмотрите, что показывают обе проверки.
systemctl is-active myapp.service; systemctl is-failed myapp.service; systemctl show myapp.service -p NRestarts
- Как исправить
- Следите за числом перезапусков, а не только за состоянием. Растущий счётчик — надёжный признак цикла.
Пример вывода
Служба падает и ждёт очередной попытки. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.
○ myapp.service - My application
Loaded: loaded (/etc/systemd/system/myapp.service; enabled)
Active: activating (auto-restart) (Result: exit-code) since Mon 2026-09-15 18:44:02 MSK; 3s ago
Process: 9500 ExecStart=/usr/local/bin/myapp (code=exited, status=1/FAILURE)
$ systemctl show myapp.service -p NRestarts
NRestarts=184
Связанные ошибки
- start-limit-hit: служба заблокирована после серии перезапусков Состояние start-limit-hit и сообщение start request repeated too quickly: systemd перестал перезапускать службу. Как разблокировать и найти исходную причину.
- Failed with result 'exit-code' Состояние exit-code: служба завершилась с ненулевым кодом. Что это сообщение значит и где искать настоящую причину.
- Suppressed N messages from unit: часть записей потеряна journald отбросил часть записей из-за ограничения частоты. Как понять, что именно потеряно, и когда предел нужно поднять.
- Failed with result «success»: странное сочетание в журнале Служба помечена упавшей с результатом «успех»: разбор этого сочетания и когда оно нормально.
- Служба застряла в состоянии deactivating Остановка не завершается: процесс не реагирует на сигналы или висит в непрерываемом ожидании.
- Сокет отключён: сработало ограничение частоты активаций Сообщение о слишком частых срабатываниях сокета: служба падает сразу после запуска и снова вызывается соединением.
- Failed with result 'core-dump' Состояние core-dump: процесс службы аварийно завершился и сохранил дамп памяти. Как открыть дамп и прочитать трассировку.
- Failed with result 'exec-condition' и condition failed Состояния exec-condition и condition failed: запуск не состоялся, потому что условие не выполнено. Это не сбой, а задуманное поведение.
Источники
-
systemd.service(5)
Restart=, RestartSec= и предел частоты запусков. -
Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
Проверено на systemd 255: без предела частоты цикл продолжается неограниченно.