アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつも参考にしています。

OS停止・リブート時のrcスクリプトについてご教示下さい。

あるアプリの実行シェルを/usr/local/aaaa/start.shに配置し、
/etc/rc3.d/と/etc/rc5.d/配下で下記コマンドを実施し、リンクを張りました。
ln -s /usr/local/aaaa/start.sh S80aaaa

この設定でOS起動時にaaaaのアプリを起動する事は出来ました。

また、/etc/rc6.d/と/etc/rc0.d/配下で下記コマンドを実施したのですが、OS起動時に停止していないように見えます。
(/var/log/messagesを見ても停止する様子が確認できません。手動でシェルを実行した場合は/var/log/messagesにログが残ります)
ln -s /usr/local/aaaa/stop.sh K10aaaa

ここでのstart.sh/stop.shは単純にアプリの起動コマンド・停止コマンドを書いてあるだけのものです。
/etc/rc6.d/K10aaaaaを直接手動で実行すればアプリの停止は可能です。

同じように設定しているのになぜ停止のほうだけうまく動かないのかが分かりません。何かアドバイスがあればお願いします。

A 回答 (2件)

ディストリが Redhat であれば、以下のような設定をスクリプトに追加してください。

これはアプリケーションが現在起動しているかどうかを確認するために使用されます。(二重起動、停止を避けるため)

'start')
touch /var/lock/subsys/aaaa

'stop')
rm -f /var/lock/subsys/aaaa

多分、起動時に /var/lock/subsys/aaaa を作成していないために、aaaa は起動していないと判断されて、stop 処理が行われなかったと考えられます。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

ご教示いただいた設定でアプリケーションを停止させる事が
出来ました。
起動シェルと停止シェルは関係性があったんですね。勉強になりました。

お礼日時:2007/02/09 16:24

start.sh及びstop.shの内容がわからないのでなんとも言いようがないのですが、バックグラウンドプロセスで動かしているのでしたらちゃんと「kill」なり「killproc」でプロセスを殺してますよね?


もちろんstart時にPIDなり作って・・・
どうなんでしょうか?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

start.shでtomatとPostgreSQLを動かしています。
kill等しなくても、tomcatとPostgreSQL停止することが出来ました。

お礼日時:2007/02/09 16:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!