SystemdDoctor

Служба застряла в состоянии activating (auto-restart)

Состояние с пометкой автоматического перезапуска означает, что служба упала и ждёт следующей попытки. Она не работает, но и не помечена упавшей, поэтому простые проверки состояния показывают всё в порядке. Понять происходящее можно только по числу перезапусков.

Вероятные причины

По порядку: сверху то, что встречается чаще.

  1. Служба падает и перезапускается по кругу

    Каждая попытка заканчивается падением, после чего выжидается задержка. Состояние колеблется между запуском и ожиданием.

  2. Предел частоты запусков не задан

    Без предела цикл продолжается бесконечно и заполняет журнал. С пределом служба перейдёт в состояние сбоя и остановится.

  3. Проверки состояния не замечают цикла

    Проверка на активность проходит, проверка на сбой тоже. Служба при этом не работает.

Диагностика

Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.

Число перезапусков, задержка и результат последней попытки.

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

Решение

Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.

1. Служба падает и перезапускается по кругу
Почему происходит
Каждая попытка заканчивается падением, после чего выжидается задержка. Состояние колеблется между запуском и ожиданием.
Как проверить
Посмотрите число перезапусков и последние падения.
systemctl show myapp.service -p NRestarts -p RestartSec -p Result
journalctl -u myapp.service -n 30 --no-pager | tail -15
Как исправить
Разберите причину падения по журналу. Увеличение задержки между попытками только замедляет цикл, не устраняя его.
2. Предел частоты запусков не задан
Почему происходит
Без предела цикл продолжается бесконечно и заполняет журнал. С пределом служба перейдёт в состояние сбоя и остановится.
Как проверить
Посмотрите настройки предела частоты.
systemctl show myapp.service -p StartLimitIntervalSec -p StartLimitBurst
Как исправить
Задайте предел частоты запусков: он превращает бесконечный цикл в явный сбой, который видно проверками.
[Unit]
StartLimitIntervalSec=60
StartLimitBurst=5
3. Проверки состояния не замечают цикла
Почему происходит
Проверка на активность проходит, проверка на сбой тоже. Служба при этом не работает.
Как проверить
Посмотрите, что показывают обе проверки.
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

Связанные ошибки

Источники

  • systemd.service(5)
    Restart=, RestartSec= и предел частоты запусков.
    официальная документация, systemd 255
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Проверено на systemd 255: без предела частоты цикл продолжается неограниченно.
    собственная проверка, systemd 255
    сверено 15 сентября 2026