status=221/CONFIRM в systemd
Код 221/CONFIRM появляется только в режиме подтверждения запуска, который включается параметром ядра systemd.confirm_spawn=. В этом режиме systemd спрашивает у консоли разрешение на запуск каждого процесса, и 221 значит, что человек ответил «нет».
Вероятные причины
По порядку: сверху то, что встречается чаще.
-
Режим подтверждения включён и запуск отклонён
Кто-то ответил отказом на приглашение в консоли, или приглашение осталось без ответа, и запуск отменился.
-
Режим подтверждения остался в настройках загрузчика
Параметр добавили однажды для разбора проблемы с загрузкой и забыли убрать из конфигурации загрузчика.
Диагностика
Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.
Показывает, с какими параметрами загружено текущее ядро.
cat /proc/cmdlineПодтверждает, что запуск именно отменён, а не завершился ошибкой.
journalctl -xeu myapp.service --no-pager -n 20Решение
Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.
- Почему происходит
- Кто-то ответил отказом на приглашение в консоли, или приглашение осталось без ответа, и запуск отменился.
- Как проверить
-
Проверьте, есть ли в строке загрузки ядра параметр подтверждения.
cat /proc/cmdline | tr " " "\n" | grep confirm_spawn
- Как исправить
- Уберите параметр из строки загрузки ядра и перезагрузитесь, либо отвечайте согласием при запуске нужных служб. Этот режим предназначен только для отладки загрузки.
- Почему происходит
- Параметр добавили однажды для разбора проблемы с загрузкой и забыли убрать из конфигурации загрузчика.
- Как проверить
-
Поищите параметр в настройках загрузчика.
grep -r confirm_spawn /etc/default/grub /boot/loader 2>/dev/null
- Как исправить
- Удалите параметр из настроек загрузчика и обновите его конфигурацию, чтобы он не возвращался после обновления ядра.
Пример вывода
Запуск отклонён в режиме подтверждения. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.
× myapp.service - My application
Active: failed (Result: exit-code) since Mon 2026-09-14 21:15:02 MSK; 1s ago
Process: 20500 ExecStart=/usr/local/bin/myapp (code=exited, status=221/CONFIRM)
systemd[20500]: myapp.service: Execution of /usr/local/bin/myapp was cancelled by the user
systemd[1]: myapp.service: Main process exited, code=exited, status=221/CONFIRM
Связанные ошибки
- status=203/EXEC в systemd Код 203/EXEC означает, что systemd не смог выполнить программу из ExecStart=. Разбор причин: путь, права, интерпретатор, синтаксис оболочки.
- A start job is running: загрузка висит на одной службе Загрузка останавливается с обратным отсчётом: служба не укладывается в таймаут. Как найти виновника и не ждать.
- Cannot assign requested address при привязке Ошибка 99 при привязке: адрес не принадлежит машине или ещё не поднят. Разбор с network-online.target и ip_nonlocal_bind.
- Dependency failed for … и результат 'dependency' Сообщение Dependency failed for: служба не запускалась, потому что упала её зависимость. Как найти настоящего виновника.
- Failed with result 'exec-condition' и condition failed Состояния exec-condition и condition failed: запуск не состоялся, потому что условие не выполнено. Это не сбой, а задуманное поведение.
- Found ordering cycle: циклическая зависимость при загрузке systemd нашёл цикл в порядке запуска и разорвал его, отбросив одну зависимость. Как найти цикл и правильно расставить After и Requires.
- Mount process exited, code=exited, status=32: не найдено устройство Монтирование не проходит: устройство или UUID не найдены, неверная файловая система, недоступен сетевой ресурс. Код 32 от команды mount.
- System is booting up, unprivileged users are not permitted to log in yet Вход отклоняется на время загрузки: обычные пользователи не пускаются, пока система не готова.
Источники
-
systemd.exec(5)
221 EXIT_CONFIRM: запуск отменён пользователем, см. параметр ядра systemd.confirm_spawn=. -
Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
Проверено с systemd.confirm_spawn=1 на тестовой машине.