標準Linuxの/etc/init.d/内にある。
カーネルイベントを監視するKeventdを起動・終了・再起動させるためのスクリプト。
カーネルイベントを監視するKeventdを起動・終了・再起動させるためのスクリプト。
動作内容
- 引数に応じてKeventdを操作する。
startの場合
- Keventdをバックグラウンドで起動する。
stopの場合
- Keventdを終了する。
restartの場合
- Keventdを再起動する。
スクリプト
#!/bin/sh start(){ if [ -x /usr/local/sbin/Keventd ] ; then Keventd & fi } stop(){ killall Keventd } case $1 in start) start ;; stop) stop ;; restart) stop start ;; *) echo "Usage : Kevent.sh {start|stop|restart}" ;; esac
スクリプト詳細
ブロックごとに見てみる。
#!/bin/sh
シェルにshを指定している。
start関数
start(){
関数の定義が始まる。
if [ -x /usr/local/sbin/Keventd ] ; then
/usr/local/sbin/Keventdが存在し実行可能であれば以下を実行。
Keventd &
Keventdをバックグラウンドで実行。
fi
/usr/local/sbin/Keventdの存在の有無条件分岐を終了する。
}
start関数はここまで。
stop関数
stop(){
関数の定義が始まる。
killall Keventd
killallコマンド?でKeventdを終了させる。
}
stop関数はここまで。
スクリプト本文
case $1 in
Kevent.shの第1引数の内容によって処理を分岐させる。
startの場合
start) start ;;
start関数を実行してcase文を抜ける。
stopの場合
stop) stop ;;
stop関数を実行してcase文を抜ける。
restartの場合
restart) stop start ;;
stop関数を実行した後、start関数を実行する。
それ以外の場合
*) echo "Usage : Kevent.sh {start|stop|restart}" ;;
画面上に「Usage : Kevent.sh {start|stop|restart}」と表示する。
esac
case文はここまで。