Como configurar os serviços do systemd para iniciar/parar processos com ordem e tempos limite predefinidos entre seus inícios?

Como configurar os serviços do systemd para iniciar/parar processos com ordem e tempos limite predefinidos entre seus inícios?

Eu uso o systemd para iniciar/parar 4 serviços em ordem sequencial usando os campos Requires/After/Before/BindsTo.

systemctl start service01inicie 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

cronômetrounidades no systemd. Tente usar OnUnitActiveSec=a opção se você optar por usar um cronômetro para a tarefa.

informação relacionada