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

Solaris9のデーモン登録について

このQ&Aのポイント
  • Solaris9のデーモン登録について教えてください。
  • 「S98web-admin」と「S99web-server1」の起動順序と、サービスのストップ方法について教えてください。
  • デーモンに停止の登録をする必要性について教えてください。

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

  • ベストアンサー
  • wellow
  • ベストアンサー率46% (892/1932)
回答No.1

>Webサーバの管理用サービス:既存のものをS99からS98に変更する もしこれがOS標準のものであれば、番号は変えない方が良いでしょう。個別の環境変更は、分かっていて管理できるのであれば構いませんが、大筋忘れますから。 >/etc/rc2.d/S99web-server1 (Webサーバのサービス) /etc/rc2.d/S991Web-server1で良いのでは? >(質問1) 順番に起動されますが、&が付いているなら、前のサービスが起動完了した後に次のサービスが起動されるという保証はありません。必要であれば、次のサービス起動時に前のサービスが完了しているか確認してください。 >(質問2) SIGKILLで終了しても構わないサービスであれば、rc5への登録は不要です。中途半端に終了しては困るのであれば、/etc/rc2.d/S99web-server1 stopのように停止させましょう。 rc6へは登録しておいた方が良いと思います。

MixNuts
質問者

お礼

ご回答、ありがとうございます。 >>Webサーバの管理用サービス:既存のものをS99からS98に変更する > >もしこれがOS標準のものであれば、番号は変えない方が良いでしょう。個別の環境変更は、分かっていて管理できるのであれば構いませんが、大筋忘れますから。 OS標準のものではありません。 サーバセットアップ時に設定したもののようです。 >>/etc/rc2.d/S99web-server1 (Webサーバのサービス) > >/etc/rc2.d/S991Web-server1で良いのでは? 3桁でもOKなんですね・・ 2桁でないとダメなものだと思っておりました。 「S991Web-server1」のように3桁で設定するようにしたいと思います。 >>(質問1) >順番に起動されますが、&が付いているなら、前のサービスが起動完了した後に次のサービスが起動されるという保証はありません。必要であれば、次のサービス起動時に前のサービスが完了しているか確認してください。 ”&”とはどの部分のことでしょうか? 「次のサービス起動時に前のサービスが完了しているか確認してください。」は スクリプトでそのようなプログラムを作成するという事ですよね? 簡単に作成できるものですか? 何かサンプルはありますか? >>(質問2) >SIGKILLで終了しても構わないサービスであれば、rc5への登録は不要です。中途半端に終了しては困るのであれば、/etc/rc2.d/S99web-server1 stopのように停止させましょう。 >rc6へは登録しておいた方が良いと思います。 承知いたしました。 rc6には追加するように検討したいと思います。 度々申し訳ございませんが、よろしくお願いいたします。

その他の回答 (1)

  • wellow
  • ベストアンサー率46% (892/1932)
回答No.2

>>順番に起動されますが、&が付いているなら >”&”とはどの部分のことでしょうか? 「/etc/rc2.d/S99web-server1 &」のようにバックグラウンドで動かす場合です。スクリプト言語で書かれたものは大筋、こうです。 C等で書かれていて、SIGHUP、SIGILL等を無視するようにコーディングされていれば親プロセス(この場合はrc2.dを起動したプロセス)が死んでもinitの子になるので問題ありませんが。というより、これこそがデーモンですからね。 >「次のサービス起動時に前のサービスが完了しているか確認してください。」は >スクリプトでそのようなプログラムを作成するという事ですよね? はい。 >簡単に作成できるものですか? 何かサンプルはありますか? ps ax(BSD流なんで動かなければps -efとしてください)をプロセス名でgrepしてプロセスが存在しているか見る(grep自体は無視するようにすることに注意)という方法があります。具体的には、ps ax | grep S98web-admin | grep -v grep の復帰値を見るとかです。 またS98web-adminに手を加えることができるならば、/var/tmpにS98web-admin.lckとかのロックファイルを作らせ、後のサービスでその有無を判断するとか。もちろん、S98web-adminが異常停止する際にはロックファイルを消しておかないと後々面倒です。 IPCで互いに通信させて互いの動作を監視したり、セマフォを使って状態を見たりという方法もありますが、プロセスの有無を見るだけなら過剰なインプリ方法だと思います。

関連するQ&A

専門家に質問してみよう