Eu uso o systemd para iniciar/parar 4 serviços em ordem sequencial usando os campos Requires/After/Before/BindsTo.
systemctl start service01
inicie essa ordem de início:
serviço01 -> serviço02 -> serviço03 -> serviço04
a ação stop é configurada através de BindTo no lado service0[234]. Eles estão vinculados ao service01, portanto, caso ele seja interrompido, outros serviços também serão interrompidos.
Porém, devido a alguns problemas, um atraso de 5 a 10 segundos deve ser configurado entre o início do service02 e do service03.
É possível usar o systemd para isso?
Claro, eu poderia simplesmente adicionar "sleep 10" no início do ExecStart em service03, mas talvez existam outras maneiras de usar o systemd para isso.
Responder1
Hácronômetrounidades no systemd. Tente usar OnUnitActiveSec=
a opção se você optar por usar um cronômetro para a tarefa.