Provided by: manpages-ja_0.5.0.0.20210215+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)