init または shutdown コマンドを使用してシステムをブートしたり、実行レベルを変更したりすると、init デーモンは /etc/inittab ファイルから情報を読み取ってプロセスを起動します。/etc/inittab ファイルには、init プロセスにとって重要な次の情報が定義されています。
init プロセスが再起動すること
起動、監視するプロセス、および停止時に再起動するプロセス
システムが新しい実行レベルに移行したとき行う処理
/etc/inittab ファイル内の各エントリは、次のフィールドからなります。
id:rstate :action:process
次の表に、inittab エントリの各フィールドを要約します。
表 18–4 inittab ファイルのフィールドの説明
フィールド |
説明 |
---|---|
id |
エントリに固有の (一意の) 識別子。 |
rstate |
このエントリが適用される実行レベルのリスト。 |
アクション |
プロセスフィールドに指定されたプロセスの実行方法。指定できる値は、 sysinit、boot、bootwait、wait、および respawn です。 ほかの action キーワードについては、inittab(4) のマニュアルページを参照してください。 |
process |
実行するコマンドまたはスクリプトを定義します。 |
次の例では、Solaris リリースでインストールされるデフォルトの inittab ファイルを示します。そのあとに、この例の出力の各行についての説明も示します。
ap::sysinit:/sbin/autopush -f /etc/iu.ap (1) sp::sysinit:/sbin/soconfig -f /etc/sock2path (2) smf::sysinit:/lib/svc/bin/svc.startd >/dev/msglog 2<>/dev/msglog (3) p3:s1234:powerfail:/usr/sbin/shutdown -y -i5 -g0 >/dev/msglog 2<>/dev/...(4) |
STREAMS モジュールを初期化します
ソケット転送プロバイダを構成します
SMF 用のマスターリスタータを初期化します
電源障害の場合のシャットダウンを指定します
init プロセスが起動されます。init プロセスは、/etc/default/init ファイルを読み取って環境変数を設定します。デフォルトでは、TIMEZONE 変数だけが設定されます。
init は inittab ファイルを読み取り、次の処理を行います。
action フィールドが sysinit になっているすべてのプロセスエントリを実行して、ユーザーがログインする前に特別な初期設定処理がすべて行われるようにします。
起動アクティビティーを svc.startd に渡します。
init プロセスが inittab ファイルを使用する方法については、init(1M) のマニュアルページを参照してください。