※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

標準Linuxの/etc/init.d/内にある。
カーネルイベントを監視するKeventdを起動・終了・再起動させるためのスクリプト。

動作内容

  • 引数に応じてKeventdを操作する。
startの場合
  • Keventdをバックグラウンドで起動する。
stopの場合
restartの場合

スクリプト

#!/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文はここまで。