LINUX.ORG.RU
решено ФорумAdmin

Вопрос по systemd и секции install

 


0

2

Если в unit добавить секцию intstall, всё отлично. Без секции install, BindsTo - не отрабатывает. Почему так? Я полагал, что и без опциональной секции Install, юнит должен слушать шину, и делать то, что сказано.

# /etc/systemd/system/foo.service
[Unit]
Description=foo
After=bar.service
BindsTo=bar.service

[Service]
User=foo
Group=foo
WorkingDirectory=/home/foo/python_scripts/foo
ExecStartPre=/bin/bash /home/foo/python_scripts/foo/StartPreSystemd.sh
ExecStart=/home/foo/python_scripts/foo/venv/bin/python3 /home/foo/python_scripts/foo/foo.py

[Install]
WantedBy=bar.service
★★★★★

Ну, юнит никакую шину не слушает и «то, что сказано» — концепция в принципе к юниту неприменимая.

BindsTo — это зависимость, направленная от твоего юнита к какому-то другому. На то, будет ли (и когда) запущен твой юнит, она совсем никак не влияет.

intelfx ★★★★★
()
Ответ на: комментарий от DALDON

Верно. Как вообще может быть юнит в таком случае без секции Install?

Например, это может быть юнит,

  1. запускаемый только руками
  2. запускаемый только какими-то другими механизмами (например, через udev)
  3. захардкоженный как зависимость в каком-то другом юните
intelfx ★★★★★
()