0

Linux システムの起動時にプログラムを自動的に実行するには、/etc/rcX.d を変更して、/etc/init.d 内のスクリプトへのリンクを追加する必要があります。2 つの質問があります。

  1. ディレクトリ名の「/etc/rcNum.d」の数字は何を意味していますか? リンクファイルをrcX.dに追加するとき、どのディレクトリに追加する必要がありますか?
  2. ディレクトリ rcX.d の下にあるリンク ファイルの名前には、K90xxx や S90xxx などの数字も含まれていますが、数字の 90 は何を意味するのでしょうか。それは優先事項ですか?次に、それをより大きな数に変更すると、プログラムが以前よりも遅く開始されることを意味しますか?

前もって感謝します!

4

2 に答える 2

1

ランレベルを操作するときは、 コマンドchkconfigとコマンドを使用する必要があります。servicercX.d フォルダー内のファイルを直接変更しないでください。LSB に従って、chkconfigスクリプトを有効/無効にするために使用する必要があります。通常、ディレクトリにはskeletonサービス ファイルがあり、/etc/init.dこれを使用して独自のサービス スクリプトを作成できます。ディストリビューションにそのファイルがない場合は、別のサービス スクリプトをコピーし、それを変更して独自のものにすることができます。カスタム サービス スクリプトを作成したら、次のコマンドでアクティブ化できます (サービスの名前が foo であると仮定します)。

chkconfig --add foo

サービス スクリプトの上部にあるコメント領域で、必要なランレベルを指定するか、コマンドのコマンド ラインから実行できますchkconfig

サービスがアクティブ化されているかどうかを確認したり、サービスが正しく登録されていることを確認したりするには、次の操作を実行できます。

chkconfig --list foo

サービスを手動で開始および停止するには、次のserviceコマンドを使用します。

service foo start
service foo stop

この方法を使用してランレベルの init スクリプトを操作すると、システムはrcX.d各ランレベルのフォルダーに正しいシンボリック リンクを自動的に作成します。システムが実行の順序番号を正しく設定できるように、サービス スクリプトで依存関係を正しく設定してください。

さらに役立つリンクを次に示します。

于 2013-03-09T15:40:55.613 に答える