rc0(1M)
rc0, rc6 --
オペレーティングシステムを停止するための実行コマンド
形式
/sbin/rc0 [firmware | off | reboot]
/sbin/rc6 [firmware | off | reboot]
機能説明
イナクティブ状態にする必要のあるシステム状態の変化時に rc0 が実行されます。このコマンドは、システムを慣習により「シャットダウン」と呼ばれる休止状態に置くための動作を実行します。(逆方向互換を維持するために /sbin/rc0 は /sbin/rc6 にリンクされます。)
この手続きには、状態 0、状態 5、および状態 6 の 3 つのシステム状態が必要です。これらの状態のいずれかに変化するときは常に、rc0 手続きが実行されます。オプションは下記のとおり使用されます。
- firmware
-
init 状態 5 (ファームウェア状態) に進みます。
- off
-
init 状態 0 (システム停止状態) に進みます。
- reboot
-
init 状態 6 (リブート状態) に進みます。
/etc/inittab のエントリは、マシンの種類によって異なりますが、下記のようになります。
r0:0:wait:/sbin/rc0 off 1>/dev/sysmsg 2>&1 </dev/console
r5:5:wait:/sbin/rc0 firm 1>/dev/sysmsg 2>&1 </dev/console
r6:6:wait:/sbin/rc0 reboot 1>/dev/sysmsg 2>&1 </dev/console
init 状態の詳細については
init(1M) を参照してください。
rc0 が実行する動作のいくつかは、/etc/rc0.d の``K''で始まるファイルによって実行されます。これらのファイルは ASCII 順に実行され、いくつかのシステムサービスを終了します。rc0 のコマンドと /etc/rc0.d のファイルの組み合わせによって、システムをシャットダウンする方法が決まります。
rc0 の推奨手順は、下記のとおりです。
-
システムサービスとデーモンの停止
-
各種システムサービス(ローカルエリアネットワークまたは LP スプーラなど)が正常終了します。
-
システムがシャットダウンしたときに終了しなければならない、あるいは SIGTERM シグナルで終了する前にクリーンアップする必要がある新しいサービスが追加されることがあります。このようなサービスのために、適切なファイルが /etc/rc0.d にインストールれます。
-
プロセスの終了
-
SIGTERM シグナルは
killall(1M) によって実行中のプロセスすべてに送信されます。SIGTERM が送信されると、ほとんどのプロセスは終了します。
-
プロセスの強制終了(kill)
-
SIGKILL シグナルは残りのプロセスすべてに送信されます。どのプロセスも SIGKILL でキルされます。
-
この時点では、残っている唯一のプロセスは rc0 に関連するものと、オペレーティングシステムにとって、特別なプロセスであるプロセス 0 およびプロセス 1 に関連するものだけです。
-
すべてのファイルシステムのアンマウント
-
ルートファイルシステム(/)だけがマウントされたままです。
そのシステムがどのシステム状態(0、5 または 6)で終了するかに応じて、rc0 は次に何が起こるかを決定します。システム状態 0 では、uadmin 2 0 が実行されます。システム状態 5 では、uadmin 2 2 が実行されます。システム状態 6 では、uadmin 2 1 が実行されます。/etc/inittab が、システム状態 0 の場合のように、実行する他のアクションを定義していないときには、オペレーティングシステムは何も実行しません。システムの反応を得ることはできません。実行できることは電源を切るか、あるいはファームウェアモニタの反応を得ることだけです。コマンドは特権ユーザだけが使用できます。
ファイル
/etc/rc0.d にあるファイルの /usr/bin/sh によって ASCII 文字の昇順で実行されます。詳細については
rc2(1M) を参照してください。
関連項目
init(1M),
killall(1M),
rc2(1M),
shutdown(1M),
uadmin(1M),
uadmin(2)
SCO UnixWare Forum Beta Release (BL12) -- September 1997
© 1997 The Santa Cruz Operation, Inc. All rights reserved.