この特集のトップページへ
この回のトップページへ

独自の起動スクリプトを追加

 例えば,Apacheを/usr/local/apacheにインストールした場合,次のようになる。これでApacheを起動,終了することのできるスクリプトができたことになる(Apacheの場合は制御するapachectlと呼ばれるプログラムが用意されている)。

#!/sbin/sh
killproc() {
        pid=`/usr/bin/ps -e |
             /usr/bin/grep -w $1 |
             /usr/bin/sed -e 's/^  *//' -e 
's/ .*//'`
        [ "$pid" != "" ] && kill $pid
}
case "$1" in
start)
        /usr/local/apache/bin/httpd
        echo "start"
        ;;
stop)
        killproc httpd
        echo "stop"
        ;;
*)
        echo "Usage: $0 {start|stop}"
        exit 1
        ;;
esac
exit 0

 ここで定義されている「killproc」という関数は,プログラム名で指定してプロセスを終了するためのものだ。プロセスIDが分かっていないような場合に利用することができる。あとは,この完成したスクリプトを,起動または終了させたいrun level用のrcディレクトリに,「S??apache」または「K??apache」のような名前でコピーするだけである。「??」の部分は,該当するrun levelの中で処理される順番になる。前後のスクリプト番号から判断する必要がある。例えば,run level 3で50番目に起動させたい場合には次のようになる。

# cp apache.sh /etc/rc3.d/S50apache
# chmod 755 /etc/rc3.d/S50apache

[永安悟史,ITmedia]

PREV 8/8