HP-UXでは、/sbin/rc*.d/(*は0~4の数字)ディレクトリの起動ファイルで起動時に動作するデーモンを制御するのではなく、 /etc/rc.config.d/ディレクトリにある環境変数スクリプトで制御します。
実際には、/sbin/rc*.d/ディレクトリの実行ファイル(/sbin/init.d/へリンクされている)から/etc/rc.config.d/ディレクトリの環境変数スクリプトが読み込まれ、その中にある Start用パラメータの数値によりデーモンを起動するか判断します。Solarisのようにrc.*d/ディレクトリにファイルがあるからと言って、起動時にデーモンが立ち上がるとは限りません。(例)1.ファイル名「/sbin/init.d/hogehogeStart」とし,起動スクリプトを作成する/opt/hogehoge/Sample/hogehogeStartを/sbin/init.d/hogehoegStartにコピーします。2.chmodコマンドで作成した起動スクリプトに実行権限を与える 3.作成した起動スクリプトを登録します。登録方法はシンボリックリンクで,スタートアップシーケンサー・ディレクトリにリンクを作成ます。
ln -s /sbin/init.d/GcolStart /sbin/rcN.d/S955GcolStart
-
rcN.dのNは,/etc/inittabファイルのinitdefaultエントリのrstate(2つ目の項目)の番号。 * シンボリックの名称は,「S<NNN><起動スクリプト名>」の形式で指定。
-
「<NNN>」には,同一実行レベル内での起動順序を示す3けたの数字を指定。
-
「<起動スクリプト名>」には,リンク先の起動スクリプトの名称と同じ名称を指定。
-
Sではじまるものがスタートさせるプロセスで、 引数startを付けて実行される。Kではじまるものが止めるプロセスで、引数stopをつけて 実行される。各ランレベルのディレクトリにあるのがシンボリックリンクというところがミソで、これによって1つのrcスクリプトを複数のランレベルで共有できる。/etc/rc[0-6].d以下にそれぞれファイルの実体を配置した場合、あるファイルを修正するとそのファイルを必要とする各ディレクトリにコピーしなければなりません。実際にはシンボリックリンクなので、大本のファイルを変更するだけで/etc/rc[0-6].d以下にも修正が自動的に反映されます。シンボリックリンクをうまく使ったこの方法は、いろいろと応用が利きます。
起動時から不要なサービスであれば、/etc/rc[0-6].dにあるシンボリックリンクを削除してしまえばいいのです。元のファイルは/etc/init.dに残っているので、必要になった時点でもう一度シンボリックリンクを作成すれば大丈夫です。# 補足
これまでに紹介してきた仕組みは、System Vの流儀です。rcスクリプトにはもう1つ、BSD風もあり、こちらは/etc/に直接rcスクリプトを配置します。この場合は、まずシングルユーザーモードで起動し、マルチユーザーモードに移行する時点で一般的なrcや各ホスト固有の設定を行うrc.localなどを実行します。Red Hat系のディストリビューションやDebian GNU/LinuxではSystem V方式を取っていますが、Red Hatの前に主流だったSlackwareではBSD風のrcスクリプトが使われています。