いつもお世話になっているITProのLinuxコマンド集に「halt = shutdown -h -q now」と書かれていたので、ためしにhaltコマンドを実行してみたところ、なぜか「System halted」で止まってしまい電源が落ちてくれなかった。
ちなみにshutdown -h nowの場合は、電源まで落ちてくれた。
疑問に思ったので、いろいろ調べてみた。
シャットダウン関係のコマンド
シャットダウン関係のはコマンドには、以下の3つがある。
- poweroff
- halt
- shutdown
poweroffコマンド
OS(システム)をシャットダウンして電源を切るコマンド。
poweroff [OPTIONS...]
実行することで、PSU(Power Supply Unit: 電源ユニット)にACPIコマンドを送って電源を落とさせる。
ACPIは「Advanced Configuration and Power Interface」の略で、PCの電源制御に関する規格のひとつ。
haltコマンド
OS(システム)をすぐにシャットダウンするコマンド。
halt [OPTIONS...]
実行することで、すべてのプロセスを終了させ、CPUを止める。
システムをシャットダウンするだけのコマンドのため、実行後は「System halted(システム停止)」というメッセージが表示される。
ただし、電源はついたままで落ちない。
オプションに「-p」をつけると電源も落ちる。
shutdownコマンド
システムのシャットダウンや再起動をするコマンド。
shutdown [OPTIONS...] [TIME] [WALL...]
poweroffコマンドに似ているけど、シャットダウンスクリプトを実行して電源を落とす。
オプションに「-r」をつけると再起動、「-h」をつけると電源を落とす。
また、実行時には「いつ実行するか」を指定する必要がある。(例: shutdown -h now)
結局、電源を落とすにはどうすれば良いのか?
電源を落とすコマンドは、以下のとおりだ。
poweroff = shutdown -h now = halt -p
3つのコマンドとも「電源を落とす手順・方法」が違うだけで、同じ結果が得られる。
一般的には「shutdown -h now」が使われる。
CentOS 7.2で確認したところ、poweroff、halt、shutdownのすべてがsystemctlにリンクが貼られていた。
# cd /usr/sbin
# ls -la | grep systemctl
lrwxrwxrwx. 1 root root 16 10月 27 10:55 halt -> ../bin/systemctl
lrwxrwxrwx. 1 root root 16 10月 27 10:55 poweroff -> ../bin/systemctl
lrwxrwxrwx. 1 root root 16 10月 27 10:55 reboot -> ../bin/systemctl
lrwxrwxrwx. 1 root root 16 10月 27 10:55 runlevel -> ../bin/systemctl
lrwxrwxrwx. 1 root root 16 10月 27 10:55 shutdown -> ../bin/systemctl
lrwxrwxrwx. 1 root root 16 10月 27 10:55 telinit -> ../bin/systemctl
参考サイト
- Linuxコマンド集 - 【 halt 】 システムをすぐにシャットダウンする:ITpro
- Linuxコマンド集 - 【 shutdown 】 システムをシャットダウン・再起動する:ITpro
- linux - What's the difference between poweroff and halt? - Unix & Linux Stack Exchange
以上
written by @bc_rikko
0 件のコメント :
コメントを投稿