haltコマンドでLinuxシステムを停止する方法|shutdownとの違いと緊急停止の使い方コマンド

宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)Linuxコマンド, LinuxコマンドF-J, システム管理コマンド > haltコマンドでLinuxシステムを停止する方法|shutdownとの違いと緊急停止の使い方コマンド
「緊急時にLinuxサーバーをすぐに止めたいが、shutdownとhaltのどちらを使えばいい?」
「haltコマンドを実行したが、電源が落ちなかった」
Linuxのシステム停止コマンドにはいくつか種類があります。
通常は shutdown を使いますが、緊急停止や最小環境での停止には halt が使われることがあります。

この記事では、halt コマンドの使い方と shutdown との違いを解説します。
基本的な使い方から主要オプション、systemctlとの関係、現代のLinuxでの正しい停止手順まで網羅しました。
【この記事でわかること】
・haltは即座にシステム停止するコマンド。-pオプションで電源オフまで実行できる
・shutdownはログイン中ユーザへの通知付き。通常の停止にはshutdownを使う
・現代のLinuxではsystemctl poweroffがhalt -pと同等の動作をする

「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

haltコマンドとは?shutdownとの違い

halt コマンドはLinuxシステムを即座に停止するコマンドです。
shutdown コマンドとの主な違いは以下の通りです。

コマンド 動作 ユーザへの通知 主な用途
halt 即座にシステム停止 なし 緊急停止・スクリプトによる停止
shutdown 時刻指定で停止 ログイン中ユーザへのメッセージ通知あり 通常の計画的停止
poweroff 即座にシステム停止・電源オフ なし halt -pと同等。systemdで推奨

通常の計画停止では shutdown を使い、緊急時や自動スクリプトでの停止に halt を使うのが一般的な使い分けです。

haltコマンドの基本的な使い方

1. システムを停止する(電源は落ちない場合あり)

# システムを停止する(root権限が必要) # halt Broadcast message from root@server01 ... The system is going down for system halt NOW! System halted.

halt のみだとカーネルはシャットダウンしますが、環境によっては電源が落ちない場合があります。
電源まで落としたい場合は -p オプションを付けてください。

2. システムを停止して電源を切る(-p オプション)

# システムを停止して電源を切る # halt -p

-p(poweroff)オプションを付けると、システム停止後に電源も切断します。
物理サーバーでの停止時はこちらを使うのが確実です。

現代のLinuxでの停止コマンド(systemctl)

CentOS7 / RHEL7 以降のsystemd環境では、halt は内部的に systemctl を呼び出しています。
直接 systemctl を使う方が推奨されます。

# システムを停止する(halt相当) # systemctl halt # システムを停止して電源を切る(halt -p相当) # systemctl poweroff # システムを再起動する # systemctl reboot

systemctl poweroffhalt -p と同等の動作をします。現代のLinuxでは systemctl を使うのが標準です。

応用:シェルスクリプトでの利用

バックアップスクリプトの最後に自動停止を組み込むケースがあります。

#!/bin/bash # バックアップ完了後に自動でシャットダウンするスクリプト例 echo "バックアップを開始します..." rsync -av /data/ /backup/ if [ $? -eq 0 ]; then echo "バックアップ完了。システムを停止します。" /sbin/halt -p else echo "バックアップ失敗。停止を中断します。" exit 1 fi

スクリプト内でフルパス(/sbin/halt)を使うことで、PATH設定に依存しない安全な実装になります。

トラブルシュート:haltが効かない場合

【注意】一般ユーザでhaltを実行した場合

halt の実行にはroot権限が必要です。ディストリビューションによって動作が異なります。

RHEL/CentOS系:ローカルコンソールからは一般ユーザで実行できる場合もあるが、リモートSSH経由では無視される
Debian/Ubuntu系:一般ユーザでは実行できない

リモートでの停止操作は必ず sudo または su - でroot権限を取得してから実行してください。

# sudoで実行する場合 $ sudo halt -p

本記事のまとめ

やりたいこと コマンド
システムを即座に停止する halt
システムを停止して電源を切る halt -p
systemdでシステムを停止する systemctl halt
systemdで電源オフ systemctl poweroff
計画的なシャットダウン(推奨) shutdown -h now

Linuxサーバーの停止・起動を安全に管理できるようになりたいですか?

誤ったコマンドでの停止操作はデータ破損の原因になります。正しい手順と安全策を体系的に学んでおきましょう。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として20年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。