LINUX.ORG.RU
ФорумAdmin

systemd и несколько копий процесса

 


0

1

Есть:

  • много файлов /etc/mydaemon/*.conf
  • для каждого из них должен запускаться процесс mydaemon

Хочется:

  • командой «systemctl start/stop/status mydaemon» запускать/останавливать/проверять все процессы
  • командой «systemctl start/stop/status mydaemon@xx» запускать/останавливать/проверять mydaemon -c /etc/mydaemon/xx.conf

Проблема:

  • Можно добавить в /etc/systemd/system файлы mydaemon.service и mydaemon@.service, но они не будут знать друг о друге.
  • Например, если запустить mydaemon.service, то mydaemon@xx не будет считать себя запущенным.

У неё есть решение в systemd? В SysVrc такое делалось тривиально.



Последнее исправление: ilya_evseev (всего исправлений: 1)

Можно добавить в /etc/systemd/system файлы mydaemon.service и mydaemon@.service, но они не будут знать друг о друге.

Они и не должны никак друг с другом относиться. Это же разные сервисы с разными именами. Я бы пошёл по другому пути - у вас есть шаблон mydaemon@.service, вот сервисы вида mydaemon@xx.service и считать сервисами, которые управляются через systemd. Для проверки\остановки\перезапуска ВСЕХ этих сервисов, написать шелл-скрипт с циклом внутри

for i in x1 x2 x3; do systemctl status $i; done

Ну или поиграть с зависимостями внутри service-файлов, но как-то мне не нравится идея одного метасервиса, которые включает в себя много мелких шаблонных сервисов.

pod ★★
()

systemd это не о гибкости. На любую нестандартную задачу тебе предложат переписать свой демон, «потому что он неправильный».

По существу: скажи привет башекостылям.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.