プロセスがバグアウトしないように定期的に再起動する必要がある単純なsystemdサービスがあります。systemdサービスに定期的に再起動するための設定オプションはありますか?Restart*
オプションサービスが終了したときにサービスを再起動することに関係しているようです。
ベストアンサー1
systemdバージョン229以上では、RuntimeMaxSec
指定された期間実行された後にサービスを終了します。
例: 7 日ごとに再起動するには:
[Service]
Restart=always
RuntimeMaxSec=7d
私にとっては、これは を乱用するよりもエレガントに思えますType=notify
。WatchdogSec
systemdは、ベンダーが提供するsystemdユニットファイルにディレクティブを追加したり上書きしたりするためのクリーンな方法を提供します。ドロップインユニットは、マニュアル systemd.unitたとえば、パッケージによって提供される foo サービスを定期的に再起動したい場合は、 という名前のファイルを作成します/etc/systemd/system/foo.service.d/periodic-restart.conf
。内容は上記のようになります。次に、次の操作を行います。
systemctl daemon-reload
systemctl restart foo
ドロップイン ユニットがロードされたかどうかは、ステータス出力に表示されるので確認できます。
systemctl status
最後に、出力を検索してディレクティブが含まれていることを確認できますsystemctl show
。
systemctl show foo.service | grep RuntimeMax
報告されるディレクティブはsystemctl show
「RuntimeMaxUSec」になります