我使用 systemd 透過使用 Requires/After/Before/BindsTo 欄位按順序啟動/停止 4 個服務。
systemctl start service01
啟動這樣的啟動指令:
服務01 -> 服務02 -> 服務03 -> 服務04
停止操作是透過 service0[234] 端的 BindTo 來配置的。它們與 service01 綁定,因此如果它停止,其他服務也會停止。
但由於一些問題,service02 和 service03 啟動之間應配置 5-10 秒的延遲。
可以為此使用 systemd 嗎?
當然,我可以在 service03 中的 ExecStart 開頭添加“sleep 10”,但也許還有其他一些方法可以使用 systemd 來實現此目的。
答案1
有計時器systemd 中的單位。OnUnitActiveSec=
如果您選擇使用計時器來執行任務,請嘗試使用選項。