Solaris9のデーモンの登録について教えてください。
現在、以下の場所にスクリプトファイルが登録させています。
/etc/rc2.d/S99web-admin
今回、既存の S99web-admin の後に実行させたいスクリプトがあります。
そこで、
/etc/rc2.d/S98web-admin(Webサーバの管理用サービス:既存のものをS99からS98に変更する)
/etc/rc2.d/S99web-server1(Webサーバのサービス)
のように変更・追加しようと思っています。
(質問1)
これは「S98web-admin」が起動されるのを待ってから、「S99web-server1」が起動されるという動作になるのでしょうか?
それとも、「S98web-admin」→「S99web-server1」の順番で起動されるだけで、実行される時間間隔はその時次第(不明)、
「S98web-admin」が起動されたかの確認は行わないということになるのでしょうか?
※条件としては、「S98web-admin」が起動していることを確認してから「S99web-server1」を起動したいと考えております。
(質問2)
上記のサービスをストップさせる場合、rc5(シャットダウン用)とrc6(再起動用)の両方に追加する必要があるということになりますか?
また、ストップのスクリプトを登録しなかった場合、shutdownコマンドなどで、OSを再起動・シャットダウンした際の挙動はどのようになりますか?
killコマンドで停止しても良いようなサービスであれば、わざわざデーモンに停止の登録をする必要はないものなのでしょうか?
もしくは、根本的に考え方など間違っているような感じでしたら、その点もご指摘ください。
以上、よろしくお願いいたします。
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へは登録しておいた方が良いと思います。
ご回答、ありがとうございます。
>>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には追加するように検討したいと思います。
度々申し訳ございませんが、よろしくお願いいたします。
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が見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- クレジットカード フィッシング詐欺 ETCカードでキャッシュ機能のないカードを入力した場合 どのような事が起こってしま 1 2022/08/14 10:49
- 消費者問題・詐欺 お金を取り返すことは可能でしょうか? 4 2023/01/07 13:17
- 物理学 xy平面上の点A(- 2, 0)に電荷量3[C]の点電荷が、点B(3, 0)に電荷量-2[C]の点電 2 2023/08/14 21:15
- UNIX・Linux ubuntuのサーバー(virtual box)が、再起動するとデータが消えてしまいます。 4 2022/04/27 21:29
- サーバー ログオンユーザーがいない場合に自動再起動 1 2022/09/28 09:53
- 囲碁・将棋 ぴよ将棋。データはどうやって保存してあるの? 1 2023/04/17 14:16
- 債券・証券 仕組債(EB債)の問題点は回転売買での手数料の搾取とノックインで胴元総取りの2つの罠ですか? 4 2023/03/17 20:24
- 病院・検査 まだ検査結果は出ていないので確定ではないのですがEBウイルスの検査をしました。EBウイルスはキス病と 1 2022/08/01 16:32
- デスクトップパソコン ん~…分からん 7 2022/06/10 10:47
- 電子マネー・電子決済 Apple Payウォレットにクレジットカードを登録、認証済みなのに使えません 今まで自分のiPho 1 2023/01/25 15:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DNSサーバーの構築「no servers...
-
memcached を起動できません。
-
起動時にバッチファイルを実行...
-
インデザイン(InDesing)の開き...
-
Linuxサーバーは定期リブートを...
-
Linuxのカーネルパニックについて
-
/etc/init.d/rcSにプログラムを...
-
Linuxの/etc/inittabの変更の適...
-
FTPでユーザ名の表示
-
起動時のエラーについて。
-
別ターミナルへのprintf出力
-
namedが起動しない
-
VNCクライアントから管理者権限...
-
httpd(Apache)でhttpsのポート...
-
Linux(redhat系)の実行ユーザ...
-
CentOS7が起動したときGNOME起...
-
linuxからのメールが文字化けと...
-
AIXルーティング情報について
-
NTPサーバが死んでいるときのNT...
-
batファイルでのプログラム起動順
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DNSサーバーの構築「no servers...
-
WMIを有効にする方法が分かりま...
-
MacOSのLaunchAgentsってなんで...
-
インデザイン(InDesing)の開き...
-
batファイルでのプログラム起動順
-
linuxからのメールが文字化けと...
-
Linuxサーバーは定期リブートを...
-
Linux(redhat系)の実行ユーザ...
-
gnomeのスタートアップの設定フ...
-
VNCクライアントから管理者権限...
-
起動時のターミナルの状態を戻...
-
httpd(Apache)でhttpsのポート...
-
chkconfig がうまくいかない
-
namedが起動しない
-
さくらvps ftp 接続できない
-
テキストログインでstartxをし...
-
KDEをインストールしてもstartx...
-
apacheが起動しない
-
rcpができない
-
RedHat9起動時にエラー
おすすめ情報