Você pode ter B exigindo A com Requires=
e matar A usando ExecStartPost=
em B
Eu gostaria de configurar uma seqüência de início não tão comum com o systemd: O serviço A é exigido pelo serviço B apenas enquanto o serviço B está sendo iniciado. Depois que o Serviço B for iniciado, o Serviço A poderá ser interrompido e o Serviço B poderá continuar em execução.
Se o Serviço B tentar iniciar, e o Serviço A for parado, então um desses deve acontecer: O serviço A deve começar ou não. Caso contrário, o serviço B não deve iniciar.
Assim, o Serviço A é requerido pelo Serviço B apenas na hora de início de B. Caso contrário, o Serviço A é irrelevante.
Eu verifiquei as opções system.unit (requer, requisites, want, before, after, etc), e não consigo encontrar a combinação certa para alcançar tal comportamento.
Você pode ter B exigindo A com Requires=
e matar A usando ExecStartPost=
em B
Tags systemd