paintchatの起動スクリプト化
あつくてもうダメですが、
再起動時に自動的にpaintchatデーモンが起動するようなスクリプトです。
chkconfigを利用。
環境
- OS
- fedora7
参考
- 起動スクリプトの書き方
- 起動スクリプトの登録の仕方
- 本体部分(デーモンプロセス終了部分)
- 本体部分(デーモンプロセス作成部分)
- http://d.hatena.ne.jp/fashi/20050505/p2
- pathにコロンがあるのが謎?
作業
※中途半端な起動スクリプトになっています。参考程度に
- 本体を/usr/local/bin/paintchatdに作る
- 名前をpaintchatdとする
- vi paintchatdとかでコードを書く
- logの出力先は /var/log/paintchat_log
- ファイルの内容は以下
#/bin/bash cd /var/www/paintchat java -Duser.dir=/var/www/paintchat -cp ./PaintChat.jar paintchat_server.Server ./cnf/paintchat.cf >> /var/log/paintchat_log &
- 起動スクリプトを/etc/rc.d/init.dに作る
- 名前をpaintchatとする(紛らわしいのでpaintchatsvとかにすりゃよかった)
- vi paintchatとかでコードを書く
#!/bin/bash # # Version: 0.1 # # chkconfig: 345 99 01 # description: Runs the paintchat daemon # processname: /usr/local/bin/paintchatd # We require the /etc/delegeted.conf file, but supply it in the package, so it # should always be there. progname=paintchat lockfile=/var/lock/subsys/paintchatd prog=/usr/local/bin/paintchatd # Source function library. . /etc/init.d/functions RETVAL=0 start() { echo -n $"Starting $progname: " daemon $prog RETVAL=$? echo [ $RETVAL = 0 ] && touch $lockfile return $RETVAL } stop() { echo -n $"Stopping $progname: " ps aux | grep java | grep PaintChat.jar | grep -v grep | awk '{ print $2 }' | xargs kill -9 killproc $prog RETVAL=$? echo [ $RETVAL = 0 ] && rm -f $lockfile return $RETVAL } # See how we were called. case "$1" in start) start ;; stop) stop ;; status) status $prog RETVAL=$? ;; restart) stop start ;; condrestart) if [ -f $lockfile ]; then stop start fi ;; reload) action $"Reloading $progname:" killall -HUP $prog ;; *) echo $"Usage: $0 {start|stop|restart|reload|condrestart|status}" exit 1 esac exit $RETVAL
- chkconfigに追加する
- ついでにランレベルの設定と確認もする
#cd /etc/rc.d/init.d/ #chkconfig --add paintchat #chkconfig paintchat on #chkconfig --list paintchat
#/etc/rc.d/init.d/paintchat start ##/etc/rc.d/init.d/paintchat stop
問題点
- stop命令を出したときに、画面に[失敗]と表示されてしまう
- killprocの使い方がよく分からないせい
- プロセス自体は死んでいるのだが、返り値が不正で失敗と表示される
- paintchatd本体はpaintchatサービス内に組み込めそう?
- 特に難しいことはしていないので、本体ファイルを別にしなくてもいけそうである
- ちょっとだれててやらなかった
色々手抜き過ぎる。利用者の人ごめんな。修行してきます。