Как настроить службы systemd для запуска/остановки процессов в предопределенном порядке и с тайм-аутами между их запусками?

Как настроить службы systemd для запуска/остановки процессов в предопределенном порядке и с тайм-аутами между их запусками?

Я использую systemd для последовательного запуска/остановки 4 служб с помощью полей Requires/After/Before/BindsTo.

systemctl start service01инициировать такой порядок запуска:

сервис01 -> сервис02 -> сервис03 -> сервис04

Действие остановки настраивается через BindTo на стороне service0[234]. Они привязаны к service01, поэтому в случае его остановки другие службы также будут остановлены.

Однако из-за некоторых проблем необходимо настроить задержку в 5–10 секунд между запуском service02 и service03.

Можно ли использовать для этого systemd?

Конечно, я мог бы просто добавить «sleep 10» в начало ExecStart в service03, но, возможно, есть и другие способы использовать systemd для этой цели.

решение1

Естьтаймерюниты в systemd. Попробуйте использовать OnUnitActiveSec=option, если вы решили использовать таймер для задачи.

Связанный контент