2016-09-02 11 views
5

システムをスクリプトを起動して30秒間隔で最大5回再試行します。 systemd.serviceマニュアルを読んでインターネットを検索しても、明らかな回答は得られませんでした。 30秒で区切られた5回のリトライの最大値は、関連するにsystemdサービスファイルに次のオプションを使用できるようにするには30秒周期で5回リトライするsystemdサービスを設定する方法

+0

[immortal](https://immortal.run/post/retries/) 'immortal -w 30 -r 5 ' – nbari

答えて

12

多くの試行錯誤の後、私は私の問題を解決し、それは価値がここに掲示思った...

[Unit] 
StartLimitInterval=200 
StartLimitBurst=5 
[Service] 
Restart=always 
RestartSec=30 

これは、 'Type = idle'を使用してスクリプトを実行するサービスで役に立ちました。 'StartLimitInterval'は 'RestartSec * StartLimitBurst'より大きくなければならないことに注意してください。そうでないと、サービスは無限に再開されます。

+2

でこれを行う方法です - 公式のシステムマンページによると - RestartSecとRestartは[System]の一部であり、StartLimitIntervalとStartLimitBurstは[Unit]の一部です。 –

+0

StartLimitIntervalの機能は何ですか? –

+3

@GerhardHagererあなたは[システム]と言うとき、あなたは[サービス]を意味すると思います。これは私のために働いた。 – Haakon

関連する問題