Upstartのrespawnが動かないと思ったら・・・

サービスの追加にあたって

/etc/init/~.conf

に設定を書くと思うが、リスポーンさせたい場合

respawn

とだけ書くのはいいのだが limitの設定をしようと思って

respawn limit 10 5

とだけ書くと動かない。

respawn
respawn limit 10 5

などと両方書く必要がある。respawn limitで一つのオプションと考える。

ちなみにrespawn limit 10 5の意味は

5秒間に10回respawnされたらサービスをもうrespawnさせずに止めるという意味であって、5秒の間を空けて10回までrespawnするという意味ではない。

なので終了や起動時に1秒ほどディレイをもつプログラム、スクリプトを書けばサービス化は問題ないだろう。

ちなみにrespawn limit 10 5 はデフォルト値なのであえて設定する必要はない。

※参考
man 5 init

web拍手
This entry was posted in Linux. Bookmark the permalink.

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>