Graças à sua pergunta / solução, tenho uma boa solução para mim que gostaria de compartilhar.
Meu requisito é ter um allservices.target que inicie / pare / reinicie srv1.service , srv2.service e srv3.service .
Um requisito é que eu possa parar, e. srv1.service e os outros serviços e o alvo ainda estão sendo executados depois disso.
A chave é ter os serviços na diretiva Wants nos serviços .target e srv * .services PartOf=allservices.target
allservices.target
[Unit]
Description=start allservices
Wants=syslog.target network.target srv1.service srv2.service srv3.service
After=network.target
[Install]
WantedBy=multi-user.target
srv1.service
[Unit]
Description=run srv1.service
Wants=syslog.target network.target
PartOf=allservices.target
[Service]
ExecStart=/path/to/bin/start
ExecStop=/bin/kill $MAINPID
Restart=always
[Install]
WantedBy=allservices.target
Assim depois que eu bato systemctl start allservices.target srv1-srv3 são iniciados, o mesmo acontece com stop e restart .
E se eu executar systemctl stop srv1.service os outros serviços e o destino ainda estiverem em execução.