SystemdDoctor
BindsTo= [Unit]

BindsTo= и PartOf=: связанная жизнь unit

BindsTo= жёстче Requires=: служба останавливается, как только указанный unit перестаёт быть активным, по любой причине. PartOf= передаёт только команды остановки и перезапуска, но не запуска.

Что делает

BindsTo= полезен для привязки к устройству или точке монтирования: пропало устройство — служба остановилась, а не работает вслепую. PartOf= нужен для групп служб: остановка цели останавливает всех участников, но запуск каждый решает сам.

Где ставится. В секции [Unit].

Значения

ЗначениеЧто происходит
BindsTo=dev-ttyUSB0.deviceслужба живёт только пока устройство подключено.
PartOf=myapp.targetостановка и перезапуск цели затрагивают эту службу.

Пример

Группа служб под одной целью.

# в каждой службе группы
[Unit]
PartOf=myapp.target
After=myapp.target

# в цели
[Unit]
Description=Все части myapp
Wants=myapp-api.service myapp-worker.service

Теперь systemctl restart myapp.target перезапускает все части, а падение одной не роняет остальные.

Типичные ошибки

BindsTo= останавливает службу и при штатном завершении зависимости — это часто оказывается неожиданным.

PartOf= не запускает службу вместе с целью: для этого нужен Wants= со стороны цели.

Оба параметра требуют After= для порядка, как и обычные зависимости.

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

Рядом стоящие параметры

Источники

  • systemd.unit(5) официальная документация
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04) собственная проверка
    сверено 15 сентября 2026