• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:デーモンへの登録(ランレベルについて))

デーモンへの登録方法とランレベルについて

このQ&Aのポイント
  • Solaris9を利用している場合、Webサーバのサービスをサーバ起動/再起動時に自動起動させるためにはデーモンへの登録が必要です。
  • ランレベルについては、起動するためにはrc2.dかrc3.dに登録する必要がありますが、どちらを選ぶかは判断基準が必要です。
  • また、サービスの停止については、どのランレベルに登録すべきかも重要です。これまで手動で起動していたサービスの場合、起動/再起動時は最後に起動し、停止時は最初に停止することが望ましいです。

質問者が選んだベストアンサー

  • ベストアンサー
noname#227025
noname#227025
回答No.1

> 起動するためには、rc2.d or rc3.d のどちらかに登録するという情報がネット上にありましたが、 > 判断基準としてどのように考えればよいのでしょうか? http://docs.sun.com/app/docs/doc/817-7238/hbrunlevels-25516?l=ja&a=view 上記 Sun のマニュアルによると、 ・ランレベル 2 通常の運用に使用する。複数のユーザーがシステムとすべてのファイルシステムにアクセスできる。NFS サーバーデーモンを除く、すべてのデーモンが動作する。 ・ランレベル 3 NFS リソースを共有する通常の運用に使用する。Solaris 環境におけるデフォルトの実行レベル。 とのことなので、NFS サーバに依存するならランレベル 3 で、依存しないならランレベル 2 ということになります。 > また、サービスの停止については、どこのランレベルに登録すべきなんでしょうか? サービスの起動を登録した以外のランレベル全て。 > 今までOSが起動してから手動で起動していたサービスのため、順番としては、 > 起動/再起動時:最後に起動 上記の条件なら、rc3.d に S99.... で登録しておけばよいでしょう。 > 停止時:最初に停止 こちらは、rc3.d 以外の全て(rc[01256S].d)に K00.... で登録しておけばよいでしょう

MixNuts
質問者

お礼

ご回答、ありがとうございます。 起動については、理解できました。 NFSサーバに依存はしないので、rc2.d で設定を考えてます。 停止についてですが、 >>サービスの起動を登録した以外のランレベル全て。 との事ですが、rc2.d 以外となるのはなぜでしょうか? (rc2.dで設定することで何らかの不具合は発生するのでしょうか?) また、停止の場合、各ランレベルで複数回実行される可能性はあるのでしょうか? (例えば、rc5.d で停止コマンドが発生、  その後、rcS.d で再度、停止コマンドが発生など) 以上、よろしくお願いいたします。

その他の回答 (1)

noname#227025
noname#227025
回答No.2

>> また、サービスの停止については、どこのランレベルに登録すべきなんでしょうか? > サービスの起動を登録した以外のランレベル全て。 すみません、上記回答を訂正します。 サービスの起動を登録したランレベルとランレベル 3 以外の全てです。 これは以下の /etc/inittab の抜粋部分を見ると分かるのですが、rc2.d 以下のスクリプトは、ランレベル2, 3 両方で実行されるためです。 (つまりランレベル 3 に停止を設定してしまうと、ランレベル3 に切り替わった際に、折角 rc2.d で起動したサービスをとめてしまうことになるからです。) (/etc/inittab からの抜粋) s2:23:wait:/sbin/rc2 >/dev/msglog 2<>/dev/msglog </dev/console >> 停止時:最初に停止 > こちらは、rc3.d 以外の全て(rc[01256S].d)に K00.... で登録しておけばよいでしょう すみません、さらに訂正です。rc[56].d はそもそもありませんね。 ですので、以下の通り訂正します。 こちらは、rc3.d 以外の全て(rc[012S].d)に K00.... で登録しておけばよいでしょう > との事ですが、rc2.d 以外となるのはなぜでしょうか? 他のランレベルにスイッチしたときに停止を登録しておかないと、そのままサービスが起動し続けたままになってしまうからです。 > また、停止の場合、各ランレベルで複数回実行される可能性はあるのでしょうか? あります。 例えば、ランレベルを 3 → S → 5 とスイッチさせると、複数回実行されます。 しかし、既に停止したサービスに対して停止処理を行っても、結局サービスは停止したままなので、複数回実行されても問題ないです。 >(例えば、rc5.d で停止コマンドが発生、 > その後、rcS.d で再度、停止コマンドが発生など) 蛇足ですが、ランレベル5では電源断まで行ってしまうので、ランレベル 5 → S のスイッチはありえませんよ。

関連するQ&A