この特集のトップページへ
>
この回のトップページへ
例えば,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]