ひとりごと

翌日:[2004-05-13]  前日:[2004-05-10] 表示単位 :

ついったー[おとなり日記] かがみさん Y.Kumagaiさん

2004/05/12 (水)

・ はじまらないサービス

最近の FreeBSD の ports では /usr/local/etc/rc.d/ 下で呼び出すプログラムに関しては、起動用のスクリプトが存在するかどうかだけではなくて、/etc/rc.conf に実際に動かすことを明記しておかないといけないようです。

まぁそういう方針になったのはそれはそれで便利なこともあるので(再起動時に一時的に動かしたくない場合など)良いのですが、今は過渡期らしくて 変更になっているスクリプトとそうでないものがあります。で、何も考えずに portupgrade した後に

# /usr/local/etc/rc.d/apache.sh start
とかすると、偶然portupgrade前後で仕様が変わってる場合には動かないんですねー(笑)。portupgrade時には起動スクリプトもいっしょに見る癖をつけなければ・・・。

それはそうと、最近の起動用シェルスクリプトはかなりすっきりしてるんですねー。先頭のコメントとかを除けば スクリプト全部はこれだけ。

apache_enable="NO"
apache_flags=""
apache_pidfile="/var/run/httpd.pid"

. /etc/rc.subr

name="apache"
rcvar=`set_rcvar`
command="/usr/local/sbin/httpd"

load_rc_config $name

pidfile="${apache_pidfile}"

start_precmd="`/usr/bin/limits -e -U www`"

run_rc_command "$1"
/etc/rc.subr内で一般化してしまってるので、起動スクリプト内では引き数による制御とかをなんにもしなくて良いようです。ここまでシンプルですと、起動スクリプトが無い ports とかを入れたときに自分でも簡単にお行儀の良いスクリプトが書けそうです。
[つっこみ]

翌日:[2004-05-13]  前日:[2004-05-10] 表示単位 :
※このページへのリンクは自由です。リンクの方法については[つっこみ]で表示されるページの最後をごらんください。
たかたに(takatani@mars.dti.ne.jp)