cuspy memo


runit の finish script

2008/05/16 Friday 03:13:58

昨日の続きで 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 にした。

  1. Robert wrote related post…

    Silk posts and stories…

    Trackback by Robert wrote related post — 2008/06/19 Thursday @ 19:07:26

Leave a comment

You must be logged in to post a comment.

hoge