runit の finish script
昨日の続きで runit をさわってみる。
run script と同じ所に finish という名前の script を置くことで異常終了時にメールを送ったり出来るって書いたけど、sv down でサービスを計画終了させた時にも finish script は実行されるみたい。
正常終了と異常終了を区別するにはどうしたら良いか調べてみると finish script に 2つの引数が渡って実行されていることが解った。
finish script の内容を
#!/bin/sh
echo $@
こんな感じにして、sv down すると
-1 15
という内容がログに書き出された。
たぶん、1つ目はプロセスの終了コード(main の返値)で 2つめはシグナルの様だ。
なので異常終了時にメールを送りたい時は
#!/bin/sh
if [ $2 -ne 15 ];then
# メールを送る
fi
というような finish script にした。
Permanent Link: http://www.cuspy.org/blog/archives/599
Trackback URL: http://www.cuspy.org/blog/archives/599/trackback
Robert wrote related post…
Silk posts and stories…
Trackback by Robert wrote related post — 2008/06/19 Thursday @ 19:07:26