シャットダウンと再起動を行うコマンド
LinuxでSystemctlを使った電源オフは「(systemctl) poweroff」システム停止のみ(電源は切らない)「(systemctl) halt」再起動は「(systemctl) reboot」、スリープは「systemctl suspend」休止状態は「systemctl hibernate」を利用します。
Linuxの起動・停止のコマンドは複数ありますが、現在も昔のコマンドが使える状態だからです。
linuxで使われるシャットダウンコマンドの一覧です。
shutdown -h
・systemd
systemctl halt (halt)
systemctl poweroff (poweroff : init 0)
現在の(systemdを使っている)ディストリビューションの多くはsystemctlコマンドを使って電源管理を行います。
shutdownやhaltなどのコマンドのパスを調べてみると全てsystemctlにリンクされていることが分かります。
systemd以前のinitプロセスで使われていたコマンド
- init
- halt, poweroff
- systemd
- systemctl halt, systemctl poweroff
- unix
- shutdown
haltやpoweroffはSysV init(systemd以前の主流であるinitプロセス)で使用されていたコマンドです。
systemdではsystemctl halt、systemctl poweroffを使いますが、haltやpoweroffもそのまま使えます(リンクが貼ってある)
shutdownコマンドはunixで使用されているコマンドですが、Linuxでも使用できます。
shutdownの使用が推奨されている場合がありますが、shutdownコマンドでもpoweroffでも動作は同じようです。むしろshutdownコマンドは「shutdown -h now
」のように長いコマンドを打つ分面倒なのでpoweroffを使えばよいです。
haltコマンドではPCの電源は落ちません。実行プロセスを全停止後、PC全体の電源は切らずにCPUの電源のみ切ります。haltは即時システムを停止するときに使います。
shutdownコマンドのオプション
shutdownコマンドのオプションでshutdown -h というのはよく見ますが、実はshutdown、shutdown -h、shutdown -Pは全て同じ動作になります。manでshutdownを見るとshutdownはオプションを指定しない場合shutdown -P (マシンの電源を切る)をデフォルトで指定すると書いてあります。またshutdown -hも同じくshutdown -Pと同じになります。そのため、電源を切るだけならshutdownだけでよいということですね。shutdownだけでは電源オフは1分後に行われるのですぐに停止したい場合は+0またはnowを使いましょう。
shutdown -r systemctl reboot (reboot:init 6)