inittab ファイル
目的
初期化プロセスを制御します。
説明
/etc/inittab ファイルは、汎用プロセス・ディスパッチャーとして、 init コマンドのロールにスクリプトを提供します。 init コマンドのプロセス・ディスパッチング・アクティビティーの大部分を構成するプロセスは、個々の端末回線を開始する /etc/getty 回線プロセスです。 一般的に、init コマンドによってディスパッチ される他のプロセスは、デーモンとシェルです。
/etc/inittab ファイルは、位置依存の項目で構成され、フォ ーマットは次のとおりです。
Identifier:RunLevel:Action:Command:Identifier:RunLevel:Action:Command各項目は、改行文字で区切られます。 改行文字の前の円記号 (¥) は、項目の継続を示します。 /etc/inittab ファイル内のエントリーの数に制限はありません (最大エントリー・サイズ以外)。 最大項目サイズは 1024 文字です。 次のような項目フィールドがあります。
- Identifier
- オブジェクトを一意的に識別するストリング (1 つ以上の文字)。
- RunLevel
- この項目を処理することができる実行レベル。 実行レベルは、実質的にシステム内のプロセスの構成に対応します。 初期化 コマンドによって開始される各プロセスには、そのプロセスが存在できる 1 つ以上の実行レベルが割り当てられます。 実行レベルは、0 から 9 までの数値で表されます。 例えば、システムが実行レベル 1 の場合、 実行レベル フィールドに 1 が入っている項目だけが開始されます。 実行レベルを変更するために 初期化 コマンドを要求すると、ターゲット実行レベルの 実行レベル フィールドに項目がないすべてのプロセスは、警告シグナル (シGTERM (S)) を受け取ります。 プロセスが強制終了シグナル (シグキル) によって強制終了されるまでには、20 秒の猶予期間があります。 実行レベル フィールドでは、0 から 9 までの任意の組み合わせで複数の実行レベルを選択することにより、1 つのプロセスに対して複数の実行レベルを定義できます。 実行レベルが指定されていない場合、プロセスはすべての実行レベルで有効であると想定されます。
実行レベル フィールドには、実際の実行レベルではない A、 B、および Cの 3 つの値が表示されます。 実行レベル フィールドにこれらの文字がある項目は、(システムの現在の実行レベルに関係なく) Telinit コマンドがそれらの項目の実行を要求した場合にのみ処理されます。 これらは、 初期化 コマンドが実行レベル A、 B、または Cに入ることができないという点で実行レベルとは異なります。 また、これらのプロセスのいずれかの実行を要求しても、現在の実行レベルは変更されません。 さらに、 A、 B、または C コマンドによって開始されたプロセスは、 初期化 コマンドがレベルを変更しても強制終了されません。 これらが強制終了されるのは、 /etc/inittab ファイル内の行が action フィールドでオフにマークされている場合、それらの行が /etc/inittabから完全に削除されている場合、または init コマンドがシングルユーザー・モードになった場合のみです。
- Action
- 識別子 フィールドに指定されたプロセスの処理方法を 初期化 コマンドに指示します。 以下のアクションは、 初期化 コマンドによって認識されます。
- respawn する
- プロセスが存在しない場合は、プロセスを開始します。 終了を待機しません ( /etc/inittab ファイルのスキャンを続行します)。 プロセスが終了したら、プロセスを再始動します。 プロセスが存在する場合は、何もせずに /etc/inittab ファイルのスキャンを続行します。
- WAIT
- 初期化 コマンドが項目の実行レベルと一致する実行レベルに入ると、プロセスを開始し、その終了を待ちます。 init コマンドが同じ実行レベルにある間に /etc/inittab ファイルを読み取ると、 init コマンドはこのエントリーを無視します。
- 1 回
- 初期化 コマンドが項目の実行レベルと一致する実行レベルに入ると、プロセスを開始し、その終了を待機しません。 停止した場合は、プロセスを再始動しないでください。 システムが新しい実行レベルに入り、プロセスが前の実行レベルの変更からまだ実行されている場合、プログラムは再始動されません。 init コマンドが同じ実行レベルにある間に /etc/inittab ファイルを読み取ると、 init コマンドはこのエントリーを無視します。
- ブート
- このエントリーを処理するのは、システム・ブート時、つまり init コマンドがシステム始動時に /etc/inittab ファイルを読み取るときだけです。 プロセスを開始し、その終了を待機せず、終了時にプロセスを再始動しません。 命令を意味のあるものにするには、実行レベルをデフォルトにするか、ブート時に 初期化 コマンドの実行レベルと一致させる必要があります。 このアクションは、システムのハードウェア・リブート後の初期化機能に役立ちます。
- ブーツ
- システムのブート後、初めて 初期化 コマンドが単一ユーザー状態からマルチユーザー状態になったときに、エントリーを処理します。 プロセスを開始し、その終了を待機します。プロセスが停止した場合は、プロセスを再始動しません。 初期化デフォルト が 2 の場合は、ブート直後にプロセスを実行します。
- 電源障害
- この項目に関連したプロセスは、 初期化 コマンドが電源障害信号 (SIGPWR (R)) を受信した場合にのみ実行してください。
- パワー・ウェイト
- このエントリーに関連したプロセスは、 init コマンドが電源障害信号 (SIGPWR) を受け取ったときにのみ実行し、終了するまで待ってから、 /etc/inittab ファイルの処理を続行します。
- off
- このエントリーに関連付けられたプロセスが現在実行中の場合は、警告シグナル (シGTERM (S)) を送信し、20 秒待ってから強制終了シグナル (シグキル) でプロセスを終了します。 プロセスが実行されていない場合は、このエントリーを無視してください。
- オンデマンド
- 機能的には 再作成と同じですが、このアクションは A、 B、または C の値に適用され、実行レベルには適用されません。
- 初期化デフォルト
- このアクションを含む項目は、 初期化 コマンドが最初に呼び出されたときにのみスキャンされます。 この項目が存在する場合、 初期化 コマンドはこの項目を使用して、最初にどの実行レベルに入るかを判別します。 RunLevel フィールドに指定した最高位の実行レベルを採用することにより実行レベルを決定し、それを初期状態として使用します。 実行レベル フィールドが空の場合、これは 0123456789 と解釈されます。したがって、 初期化 コマンドは実行レベル 9 を入力します。 さらに、 init コマンドが /etc/inittab ファイル内に initdefault エントリーを見つけられない場合は、ブート時にユーザーから初期実行レベルを要求します。
- システム初期化
- このタイプの項目は、 初期化 コマンドがログイン前にコンソールへのアクセスを試行する前に実行されます。 この項目は、 初期化 コマンドが実行レベルの質問をしようとする可能性があるデバイスを初期化するためにのみ使用されることが想定されています。 これらの項目は実行され、待機してから続行されます。
- Command
- 実行するシェル・コマンド。 コマンド フィールド全体には、以下の接頭部が付きます。execそして、フォークに渡されました。shとしてsh -c exec command. 任意のリーガルshこのフィールドには構文が表示されます。 # コメント構文を使用してコメントを挿入できます。
ゲティ コマンドは、 初期タブ ファイル内でその前にあるすべてのコマンドの出力を上書きします。 これらのコマンドの出力をブート・ログに記録するには、その出力を アナログ・ブート コマンドにパイプ接続します。
初期化 が 初期タブ エントリーを処理している間は、stdin、stdout、および stdferr ファイル記述子を使用できない場合があります。 stdout または stderr に書き込むエントリーは、出力をファイルまたは /dev/consoleにリダイレクトしない限り、予測どおりに機能しない可能性があります。
以下のコマンドは、 /etc/inittab ファイル内のレコードを変更するためにサポートされている唯一の方法です。
例
- 開始するには、identすべての実行レベルで処理するには、以下を入力します
ident:0123456789:Action:Command - 開始するには、ident実行レベル 2 でのみ処理するには、次のように入力します。
ident:2:Action:Command - 実行レベル 0、3、6-9 を使用不可にするには、ident次のコマンドを入力します。
ident:1245:Action:Command - 実行レベル 2 で RC コマンドを開始し、その出力をブート・ログに送信するには、次のように入力します。
rc:2:wait:/etc/rc 2>&1 | alog -tboot > /dev/console
ファイル
| 項目 | 説明 |
|---|---|
| /etc/inittab | 初期タブ ファイルのパスを指定します。 |
| /usr/sbin/getty | 端末回線を示します。 |