Eu não estou ciente de uma maneira de fazer isso com o systemd, pois acho que ele está preocupado apenas com o início e o funcionamento das unidades. Como em, você pode usar After=
para forçar uma unidade a iniciar somente APÓS ter iniciado o especificado ou ambos iniciarem em paralelo.
Wants=
fará com que as unidades especificadas sejam iniciadas em paralelo (se as unidades desejadas ainda não estiverem iniciadas / ativas), não o que você deseja.
Requires=
, se usado em conjunto com After=
on agentconfigure.service
, garante que agentconfigure.service
seja iniciado DEPOIS agentinstall.service
está ativo ("ocupado"). Agora, você pode ter um loop em agentconfigure.service
que espera, digamos no máximo 5 minutos, e verificar regularmente se há agentinstall.service
para concluir antes de prosseguir com o trabalho real. A única opção que vejo para isso.
EDIT: Outra opção que acho melhor ainda ... agentinstall.service
inicia agentconfigure.service
quando a instalação é bem-sucedida e, em seguida, sai.