LINUX.ORG.RU

Написание target в systemd

 


0

2

Приветствую! Возникла проблема с собственным таргетом для нескольких сервисов. Таргет чудесно поднимает все сервисы разом, но вот опускать ничего не опускает. При том все сервисы проверены - каждый по отдельности без проблем стартует и стопается. Внутри сервисов есть зависимость друг от друга, но оформлены они абсолютно однообразно.

Вот формат таргета:

[Unit]
Description=custom services target
Requires=service1
Requires=service2
Requires=service3
Requires=service4

[Install]
WantedBy=multi-user.target

А так выглядят сервисы:

[Unit]
Description=mydaemon
Requires=custom2
After=custom2

[Service]
Type=forking
PIDFile=/var/run/mycustom/mydaemon.pid
ExecStart=/usr/sbin/mydaemon
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure

[Install]
WantedBy=custom.target
Прошу подсказать, что я делаю не так. В интернетах ничего подходящего не нагуглено, маны перечитаны.

Мне казалось, target это цель при загрузке. Их точно нельзя перезапускать и, видимо, останавливать.

anonymous
()
Ответ на: комментарий от anonymous

Но если таргет можно стартануть, то одной командой можно и остановить все его сервисы. Или должен быть иной механизм в одну команду. Вообще говоря, делал я по этой статье: https://habrahabr.ru/post/275645/

shipilovds
() автор топика
Ответ на: комментарий от shipilovds

одной командой можно и остановить все его сервисы

Кто тебе такое сказал? Таргет это как ранлевел, только таргет.

Или должен быть иной механизм в одну команду.

systemctl isolate some-other.target

anonymous
()
Ответ на: комментарий от shipilovds

Обычно делают фейковый юнит, который запускает какой-нибудь /bin/true, и к нему уже всё вяжут.

Посмотри организацию того же tor.service. Еще погрепай service-файлы по слову target в комментариях.

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

Да, извиняюсь за собственную невнимательность - копошился не с той версией своих сервисов, куда не вписал StopWhenUnneeded=true (это было описано в статье на хабре, на которую ориентировался) Вернулся к версии сервисов с этим параметром, и таргет начал опускать все необходимые сервисы. Спасибо всем. Кто не знал что таргеты тоже перкрасно стопают все свои сервисы - вот вам формат решения.

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