SSブログ

Linuxでシャットダウン、再起動をするshutdown、init、halt、rebootコマンドの違い [Linux]

Linuxでシャットダウンや再起動をコマンドラインで行う場合、
通常はshutdownコマンドを使用することが多いと思います。
しかし、シャットダウンや再起動は、inithaltreboot でも行えます。

initはランレベルの変更を行うコマンドですが、
init 0 でシャットダウン、 init 6 で再起動を行うことが出来ます。

また、シャットダウンは halt、再起動は reboot コマンドを実行しても行えます。

では、これらのコマンドは何が違うのでしょう。

いちばん大きな違いは、ログインユーザにメッセージを送信するかどうか
という点です。

実際に検証してみましょう。
なお、今回使用した検証環境は、Vine Linux 5.0 です。

例えば、再起動をする場合を考えます。
別のPCからリモートでログインしておき、メッセージが通知されるかどうかを
確認します。

まず、shutdown コマンドで再起動をしてみましょう。

# shutdown -r now

この場合、ログインをしているすべてのユーザに、再起動が行われる旨が
通知されます。

Broadcast message from root (pts/0) (Sat Oct 2 22:28:53 2010):

The system is going down for reboot NOW!

では、init ではどうでしょうか。

# init 6

init で再起動をした場合は、ログインユーザに何の通知もありません。

では、最後にrebootはどうでしょうか。

# reboot

reboot も、shutdown と同様に、すべてのユーザに再起動が行われる旨が
通知されます。

Broadcast message from root (pts/0) (Sat Oct 2 22:37:32 2010):

The system is going down for reboot NOW!

ちなみに、halt も同様のメッセージが通知されます。

以上のことから、再起動には shutdown -r now または reboot
を使用したほうが良いと言えます。
シャットダウンも、shutdown -h now または halt を使用したほうが良いでしょう。

では、shutdown と reboot、halt は何が違うのでしょう。
答えは、どちらも同じですw
shutdown の中身を見ると、オプションに応じて reboot や halt が呼び出されている
からです。

ただし、このあたりの話は、ディストリビューションによって
微妙に異なるようですので、注意が必要です。
確実なのは、やはり shutdown コマンドを使用することでしょう。

ちなみに、Solarisの場合は、shutdown の中を覗くと、
ごちゃごちゃと処理を行った最後に init を実行していたりします。


Linuxコマンドブック ビギナーズ 第3版
川口 拓之 下忠 健一 田谷 文彦 三澤 明
ソフトバンククリエイティブ
売り上げランキング: 162,236



図解でわかるLinux環境設定のすべて
西村 めぐみ
日本実業出版社
売り上げランキング: 7075



nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

トラックバックの受付は締め切りました

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。