RefuseManualStart=
[Unit]
RefuseManualStart= и RefuseManualStop=
Запрещают запуск или остановку unit вручную: он может быть запущен только как зависимость другого unit.
Что делает
Применяется к вспомогательным unit, которые сами по себе бессмысленны: они предполагают, что перед ними что-то подготовлено. Ручной запуск в обход подготовки оставил бы систему в странном состоянии.
Где ставится. В секции [Unit].
Значения
| Значение | Что происходит |
|---|---|
RefuseManualStart=yes | запуск только по зависимости. |
RefuseManualStop=yes | остановка только вместе с тем, что его требует. |
По умолчанию: no
Пример
Вспомогательная часть большей системы.
[Unit]
Description=Подготовка данных для myapp
RefuseManualStart=yes
Before=myapp.service
Типичные ошибки
Параметр, скопированный из чужого примера, мешает без пользы: обычную службу становится нельзя запустить.
Запрет не защищает от остановки цели, которая тянет этот unit.
Связанные ошибки
- Operation refused, unit may be requested by dependency onlysystemd отказывается запускать unit вручную из-за RefuseManualStart=yes. Что это значит и как запустить службу правильно.
- Dependency failed for … и результат 'dependency'Сообщение Dependency failed for: служба не запускалась, потому что упала её зависимость. Как найти настоящего виновника.
Рядом стоящие параметры
Источники
- systemd.unit(5)
- Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)