Provided by: manpages-ja_0.5.0.0.20221215+dfsg-1_all
名前
shutdown - システムを終了させる
書式
/sbin/shutdown [-t sec] [-arkhncfF] time [warning-message]
説明
shutdown はシステムを安全に終了させる。 ログインしている全てのユーザにはシステムが終了する 旨が通知され、 新たな login(1) プロセスは生成されなくなる。 shutdown はシステムを直ちに終 了させることも、 また指定した時間の経過後に終了させることもできる。 実行中の全てのプロセス には、 まず SIGTERM シグナルが送信され、 システムの終了が通知される。 これによって、 vi(1) のようなプログラムが現在編集中のファイルを保存するための、 またメールやニュースを扱うプロ グラムが正常に終了するための余裕が与えられる。 shutdown は、init プロセスにシグナルを送 り、 ランレベルの変更を依頼することによって、システムを終了させる。 ランレベル 0 はシステ ムを停止するために、 ランレベル 6 はシステムをリブートするために用いられる。 ランレベル 1 はシステムの管理業務が行なえる状態 (シングルユーザモード) にするために用いられる。 shutdown に -h と -r いずれのオプションも与えられなかった場合は、 デフォルトでランレベル 1 になる。 システムの停止やリブートの際にどのような動作がなされるかは、 /etc/inittab ファイ ルのエントリのうち、 それぞれのランレベルに対応するものを参照すること。 -a /etc/shutdown.allow を使う。 -t sec 他のランレベルに移行する際、 警告シグナルを送ってから kill シグナルを送るまでに sec 秒間待つよう init(8) に伝える。 -k 実際にはシャットダウンを行なわない。 ログイン中のユーザ全員へのメッセージ送付のみを 行なう。 -r シャットダウン後リブートする。 -h シャットダウン後システムを停止する。 -n [使うべきでない] init(8) にシャットダウンを依頼するのではなく、 自力でシャットダウ ンを行う。 このオプションの使用はなるべく避けること。 望んだ結果が得られるとは限ら ない。 -f リブート時に fsck を行なわない。 -F リブート時に必ず fsck を行なう。 -c 現在実行中のシャットダウンをキャンセルする。 当然ながら、このオプションと同時に time を指定することはできない。 しかし、コマンドラインから説明用のメッセージを入力 し、 ログイン中の全てのユーザに送る事はできる。 time いつシャットダウンするか。 warning-message ユーザ全員に送られるメッセージ。 time 引数は様々な書式で指定できる。 まず、hh:mm という書式で時刻を与える方法がある。 ここ で hh は時 (数字 1 つか 2 つ)、 mm は分 (数字二つ) である。 二つめは +m という書式で、 m 分待機した後にシャットダウンするよう指示する方法である。 now は +0 のエイリアスである。 遅延指定付きで起動されると、shutdown は /etc/nologin ファイルを作成し、 login(1) のような プログラムが 新たなユーザログインを許可しないようにする。 shutdown は、init にシグナルを送 る前に停止した場合 (キャンセルされたか、なにか問題があった場合)、このファイルを削除する。 init にランレベルを変更するよう伝える前にも、 shutdown はこのファイルを削除する。 -f オプションは `reboot fast' を表す。 このオプションは /fastboot というアドバイス的なファ イルを作るだけだが、 このファイルはシステムの再起動時にチェックされる。 ブート rc ファイル は、このファイルが存在すると、 システムが適切な方法でシャットダウンされたので fsck(1) を起 動する必要がないと判断する。 その後には、 ブートプロセスは /fastboot ファイルを削除しなけ ればならない。 -F オプションは `force fsck' を表す。 このオプションは /forcefsck というアドバイス的なファ イルを作るだけだが、 このファイルはシステムの再起動時にチェックされる。 ブート rc ファイル は、このファイルが存在すると、 fsck(1) を特に `force' オプション付きで起動し、 適切にアン マウントされたファイルシステムもチェックさせる。 その後には、 ブートプロセスは /forcefsck ファイルを削除しなければならない。 -n オプションを用いると、 shutdown は init を呼び出さず、 全てのプロセスを自分自身で kill する。 つづいて shutdown は quota と accounting を停止し、 スワップを停め、全てのファイル システムを unmount する。
アクセス制御
/etc/inittab 中に適切なエントリを作成しておけば、 特殊なキーシーケンス CTRL-ALT-DEL が押さ れた場合に init(8) が shutdown を起動するようにできる。 こうしておくと、 コンソールのキー ボードに接触できる人なら、 誰でもシステムをシャットダウンできてしまう。 これを避けるため、 shutdown には、 起動を許可されたユーザが仮想コンソールのいずれかから ログインしているかど うかチェックする機能がある。 shutdown が -a 引数つきで起動されると (/etc/inittab の shutdown エントリに追加しておく)、 shutdown は /etc/shutdown.allow ファイルが存在するかど うかを調べ、 そこに記されたログイン名を仮想コンソールからログインしている人のリスト (/var/run/utmp から取得する) と比較し、 許可されたユーザのうちの誰かまたは root がログイン している場合のみシャットダウンを続行する。 そうでない場合は shutdown: no authorized users logged in というメッセージを物理システムコンソールに出力する。 /etc/shutdown.allow ファイルには、一 行にユーザを一人記入する。 空行やコメント行 (行頭に # を付ける) があっても良い。 現在は ユーザを 32 人までしか記入しておけないという制限がある。 /etc/shutdown.allow が存在しない場合は、 -a 引数は無視される。
ファイル
/fastboot /etc/inittab /etc/init.d/halt /etc/init.d/reboot /etc/shutdown.allow
注意
多くのユーザが time 引数を忘れ、 shutdown の出すエラーメッセージに悩んでいる。 time 引数は 必ず指定しなければならない。 あらゆるシャットダウンのうちの 90 パーセントまでは、 time 引 数は now でいいだろう。 init はコンソールモードでのみ CTRL-ALT-DEL をキャッチし、 シャットダウンを開始する。システ ムで X Window System が動作していると、 X サーバがすべてのキーストロークを処理する。 X11 の環境によっては CTRL-ALT-DEL をキャッチすることも可能になっているが、 実際にこのイベント によって何が行われるかはその環境に依存する。 シャットダウンは setuid で動作するようには設計されなかった。 /etc/shutdown.allow は誰が shutdown を実行したかを調べるためのものではなく、 誰が現在コンソール (のどれか) にログイン しているかをチェックするための ものに過ぎない。
著者
Miquel van Smoorenburg, miquels@cistron.nl
関連項目
fsck(8), init(8), halt(8), poweroff(8), reboot(8) Juli 31, 2001 SHUTDOWN(8)