事前に定義された順序と開始間のタイムアウトでプロセスを開始/停止するように systemd サービスを構成する方法を教えてください。

事前に定義された順序と開始間のタイムアウトでプロセスを開始/停止するように systemd サービスを構成する方法を教えてください。

私は、Requires/After/Before/BindsTo フィールドを使用して、systemd で 4 つのサービスを順番に開始/停止します。

systemctl start service01このような開始命令を開始します。

サービス01 -> サービス02 -> サービス03 -> サービス04

停止アクションは、service0[234]側のBindToを通じて設定されます。これらはservice01にバインドされているため、service01が停止した場合は他のサービスも停止されます。

ただし、いくつかの問題があるため、service02 と service03 の開始の間に 5 ~ 10 秒の遅延を設定する必要があります。

これに systemd を使用することは可能ですか?

もちろん、service03 の ExecStart の先頭に「sleep 10」を追加するだけでもかまいませんが、systemd をこれに使用する他の方法もあるかもしれません。

答え1

があるタイマーsystemd の単位。OnUnitActiveSec=タスクにタイマーを使用する場合は、オプションを使用してみてください。

関連情報