【2026年7月最新】Linuxのshutdownコマンド完全ガイド|即時停止・時間指定・再起動・Claude Code活用法
この記事の内容
- 01Linuxのshutdownコマンドとは?基本と用途
- 02shutdownコマンドの基本構文とオプション全種類
- 03今すぐシャットダウン:shutdown -h now の使い方
- 04時間を指定したシャットダウンの方法
- 05シャットダウンのキャンセル:shutdown -c
- 06再起動コマンド:shutdown -r / reboot / systemctl reboot
- 07halt・poweroff・shutdown -h の違い
- 08systemctl poweroff/reboot との使い分け
- 09shutdownを含むLinuxシェルスクリプトの実例
- 10Claude CodeでLinuxシャットダウンスクリプトを自動生成する
- FAQよくある質問
Linuxサーバーや仮想環境を操作していると「SSHで接続したサーバーをシャットダウンしたい
📚 用語解説
SSH(Secure Shell):暗号化された通信でリモートのLinuxサーバーにコマンドラインからアクセスするためのプロトコル・ツール。「ssh ユーザー名@サーバーIPアドレス」でサーバーに接続する。クラウドサーバー(AWS EC2・さくらVPS・Xserver VPS等)の操作はほぼ全てSSH越しに行う。GUIが使えないサーバー環境でもSSHでターミナルを開いてコマンドを実行できる。shutdownコマンドを実行してサーバーが停止すると、SSH接続も切れて再接続できなくなる。
shutdownコマンドは「今すぐ停止」から「30分後に停止」「特定の時刻に停止」など柔軟な使い方ができます。また、似たコマンドとしてhalt・poweroff・reboot・systemctl poweroffがあり、それぞれの違いも理解しておく必要があります。
この記事ではLinuxのshutdownコマンドに関する全知識を体系的に解説します。さらにClaude Codeを使ってシャットダウンスクリプトを自動生成する方法も紹介します。
01 LINUX SHUTDOWN BASICS Linuxのshutdownコマンドとは?基本と用途 Linuxシステムを安全に停止・再起動させるための標準的なコマンド
Linuxのshutdownコマンドは、システムを安全にシャットダウン(停止)または再起動させるための標準的なコマンドです。単にシステムの電源を切るだけでなく、実行中のプロセスを正常に終了させ、ファイルシステムを安全にアンマウントしてからシステムを停止します。
📚 用語解説
shutdownコマンド:Linux/Unixで実行中のシステムを安全に停止・再起動させるコマンド。「shutdown [オプション] [時間] [メッセージ]」の形で使う。電源を強制的に切る(ハードパワーオフ)と違い、shutdownは実行中のプロセスを正常に終了させ、ファイルシステムを安全にアンマウントしてからシステムを停止する。ファイルシステムの破損やデータ損失を防ぐために重要。現代のLinuxでは内部的にsystemctl poweroff/rebootを呼び出していることが多い。
| シャットダウン方法 | 安全性 | データ損失リスク | 使用する場面 |
|---|---|---|---|
| shutdownコマンド | 高(推奨) | 低い | 通常のシャットダウン |
| systemctl poweroff | 高(推奨) | 低い | systemd環境での標準的な方法 |
| poweroffコマンド | 高 | 低い | shutdownの代替(動作は同様) |
| haltコマンド | 中 | 低い | CPUを停止するが電源は落ちない場合がある |
| 強制電源断(物理ボタン長押し) | 低(非推奨) | 高い(ファイル破損の可能性) | 最終手段(フリーズ時等) |
shutdownコマンドが実行すると以下の処理が順番に行われます。
ユーザーへの
警告メッセージ送信
SIGTERMシグナルで
正常終了を要求
バッファをディスクに書き出し
(sync処理)
ファイルシステムを
安全にアンマウント
カーネルが電源管理に
停止を指示
02 SHUTDOWN OPTIONS shutdownコマンドの基本構文とオプション全種類 shutdown [オプション] [時間] [メッセージ]の全オプションを完全解説
shutdownコマンドの基本構文は「shutdown [オプション] [時間] [メッセージ]」です。各要素の意味と全オプションを確認しましょう。
| オプション | 意味 | 使用例 | 動作 |
|---|---|---|---|
| -h または --halt | シャットダウン(電源オフ) | shutdown -h now | システムを停止して電源を切る |
| -P または --poweroff | 電源オフ(-hのデフォルト動作) | shutdown -P +10 | 10分後に電源オフ |
| -r または --reboot | 再起動 | shutdown -r now | システムを再起動する |
| -c または --cancel | シャットダウンのキャンセル | shutdown -c | 予約済みのshutdownをキャンセル |
| -k | メッセージ送信のみ(実際に停止しない) | shutdown -k now "test" | 警告メッセージだけを送信する(テスト用) |
| --no-wall | ユーザーへの警告メッセージを送らない | shutdown -h --no-wall now | メッセージなしでシャットダウン |
時間の指定方法には3種類あります。
| 時間の書き方 | 意味 | 例 | 動作 |
|---|---|---|---|
| now | 今すぐ | shutdown -h now | 即座にシャットダウン |
| +分数 | 何分後 | shutdown -h +30 | 30分後にシャットダウン |
| HH:MM | 時刻指定 | shutdown -h 23:30 | 23時30分にシャットダウン |
03 SHUTDOWN NOW 今すぐシャットダウン:shutdown -h now の使い方 Linux サーバーを即座に安全に電源オフする最も基本的なコマンド
Linuxサーバーを今すぐシャットダウンする最も標準的な方法は「shutdown -h now」です。このコマンドを実行すると、実行中のプロセスを正常に終了させてから電源を切ります。
# 今すぐシャットダウン(最も基本的なコマンド)
$ sudo shutdown -h now
# 出力例
Broadcast message from root@hostname
(somewhere) at 14:30 ...
The system is going down for power-off NOW!
Ubuntu・Debian等ではshutdownコマンドにsudoが必要です。CentOS・RHEL等ではrootユーザーなら不要な場合があります。一般ユーザーで実行するには「sudo shutdown -h now」が安全です。
「shutdown -h now」以外にも、今すぐシャットダウンするコマンドはいくつかあります。
# 同じ動作をする複数の書き方 $ sudo shutdown -h now $ sudo shutdown -P now # -P = poweroff $ sudo poweroff # poweroffコマンドを直接実行 $ sudo systemctl poweroff # systemd環境での書き方 # Linuxのバージョンや設定によって動作が変わる場合があるため # 環境に合わせて使うコマンドを選んでください
04 TIMED SHUTDOWN 時間を指定したシャットダウンの方法 「30分後」「23時30分」のように時間を指定してシャットダウンを予約する
shutdownコマンドは指定した時間後・特定の時刻にシャットダウンを実行するよう予約できます。
# 30分後にシャットダウン $ sudo shutdown -h +30 # 出力例: # Shutdown scheduled for Fri 2026-07-18 15:00:30 JST, use 'shutdown -c' to cancel. # 10分後にシャットダウン(メッセージ付き) $ sudo shutdown -h +10 "10分後にメンテナンスのため停止します" # 特定の時刻にシャットダウン(23:30) $ sudo shutdown -h 23:30 # 次の日の03:00(翌日の時刻も指定可能) $ sudo shutdown -h 03:00
📚 用語解説
cronとshutdownの組み合わせ:Linuxのcronジョブスケジューラとshutdownを組み合わせると、毎日決まった時刻にサーバーをシャットダウンする定期スケジュールが作れる。「crontab -e」でcronを編集し、「30 23 * * * sudo /sbin/shutdown -h now」と書くと毎日23:30にシャットダウンが実行される。AWSのEC2やさくらVPSなど従量課金のサーバーで夜間コストを削減する場合に活用する。
# crontabでシャットダウンをスケジュールする $ crontab -e # 毎日23:30にシャットダウン(crontab内容) 30 23 * * * sudo /sbin/shutdown -h now # 毎週日曜日の深夜にシャットダウン 0 2 * * 0 sudo /sbin/shutdown -h now
「shutdown -h 03:00」と入力した時に現在時刻が04:00以降の場合、「翌日の03:00」にシャットダウンが予約されます。「+分数」の形式の方が直感的なため、特定時刻の指定よりも分後指定(+30等)を使うことも多いです。
05 SHUTDOWN CANCEL シャットダウンのキャンセル:shutdown -c 予約済みのshutdownを取り消すshutdown -cコマンドの使い方
「shutdown -h +30」などで予約したシャットダウンをキャンセルするには「shutdown -c」を使います。シャットダウンが完了する前であればいつでもキャンセルできます。
# まず30分後にシャットダウンを予約 $ sudo shutdown -h +30 "30分後に停止します" # Shutdown scheduled for ... # キャンセル $ sudo shutdown -c # 出力例: # Shutdown cancelled # または Ctrl+C でもキャンセルできる場合がある(フォアグラウンド実行時)
shutdownコマンドはバックグラウンドで動くため、別のターミナルから「shutdown -c」でキャンセルする必要があります。Ctrl+Cはコマンドをフォアグラウンドで実行している場合のみ有効です。
06 REBOOT 再起動コマンド:shutdown -r / reboot / systemctl reboot Linuxシステムを再起動する3つのコマンドの違いと使い分け
Linuxで再起動するコマンドにはshutdown -r now・reboot・systemctl rebootの3つがあります。どれを使っても基本的な動作(プロセスを正常終了してから再起動)は同じですが、使われる場面が異なります。
# 今すぐ再起動する3つの書き方 $ sudo shutdown -r now # shutdownのリブートオプション $ sudo reboot # rebootコマンド(シンプル) $ sudo systemctl reboot # systemd環境での標準的な書き方 # 10分後に再起動 $ sudo shutdown -r +10 "10分後に再起動します" # 特定の時刻に再起動 $ sudo shutdown -r 03:00
| コマンド | 動作 | 向いている場面 | 備考 |
|---|---|---|---|
| shutdown -r now | プロセス終了→再起動 | 時間指定したい場合も使える | シャットダウンとの一貫性がある |
| reboot | プロセス終了→再起動 | すぐに再起動する場合(最短) | 内部でshutdown -rを呼ぶ環境が多い |
| systemctl reboot | systemdが再起動を管理 | systemd環境での公式な方法 | init.dを使うシステムでは動作しない |
07 HALT POWEROFF halt・poweroff・shutdown -h の違い 3つのシャットダウン系コマンドの動作の違いを整理する
Linuxにはhalt・poweroff・shutdown -hという3つの似たコマンドがあります。現代のLinuxでは動作に大きな差はありませんが、正確な意味の違いを理解しておきましょう。
📚 用語解説
halt・poweroff・shutdown -hの違い:歴史的には「halt」はCPUを停止するがACPI電源管理で電源を切らない場合があった。「poweroff」はCPUを停止してACPI経由で電源を切る。「shutdown -h」はhalt(h)オプションなので、haltかpoweroffのどちらを実行するかはシステム設定による。現代のLinux(systemd環境)ではこれらの差はほぼなく、全て「systemctl poweroff」として処理される。どれを使っても電源が切れると考えて問題ない。
| コマンド | 歴史的な意味 | 現代のLinux(systemd)での動作 | 推奨度 |
|---|---|---|---|
| shutdown -h now | halt(CPUを停止) | systemctl halt → 電源オフ | ○(どの環境でも安定) |
| poweroff | ACPIで電源を切る | systemctl poweroff → 電源オフ | ○(分かりやすい) |
| halt | CPUを停止(電源が切れない場合あり) | systemctl halt → 電源オフ | △(haltの意味に注意) |
| systemctl poweroff | systemd経由での電源オフ | systemctl poweroff | ◎(systemd環境では公式) |
「shutdown -h now」「poweroff」「systemctl poweroff」はどれも現代のLinuxでは同じ動作です。迷ったら「sudo poweroff」か「sudo systemctl poweroff」のどちらかを使えばOKです。仮想マシン・クラウドサーバー・一般的なLinuxディストリビューション(Ubuntu・CentOS・Debian)でどちらも動作します。
08 SYSTEMCTL systemctl poweroff/reboot との使い分け systemd環境でのシャットダウン・再起動のベストプラクティス
Ubuntu 16.04以降・CentOS 7以降など、現代のほぼ全てのLinuxディストリビューションはsystemdをinitシステムとして採用しています。systemd環境では「systemctl」コマンドがシステム管理の標準的なツールになっています。
📚 用語解説
systemd(System and Service Manager):Linux起動プロセスを管理するinitシステム。従来のSysV initに代わって現代のLinuxの標準になっている。「systemctl」がsystemdを制御するコマンドで、「systemctl poweroff」「systemctl reboot」「systemctl status sshd」のように使う。shutdownコマンドは現代のLinuxでは内部でsystemctl poweroffなどを呼び出している。systemdを使うディストリビューション:Ubuntu 16.04+、Debian 8+、CentOS 7+、Fedora 15+、RHEL 7+。
# systemdを使う環境でのシャットダウン操作 $ sudo systemctl poweroff # 電源オフ $ sudo systemctl reboot # 再起動 $ sudo systemctl halt # CPU停止 $ sudo systemctl suspend # スリープ(サスペンド) $ sudo systemctl hibernate # 休止状態(ハイバネート) # systemdの状態を確認 $ systemctl status # systemdのバージョン確認 $ systemctl --version
| コマンド | systemctl版 | 動作 |
|---|---|---|
| shutdown -h now | systemctl poweroff | システムを停止して電源を切る |
| shutdown -r now | systemctl reboot | システムを再起動する |
| halt | systemctl halt | CPUを停止する |
| shutdown -h +30 | (時間指定はshutdownのみ) | 30分後にシャットダウン |
09 SHUTDOWN SCRIPTS shutdownを含むLinuxシェルスクリプトの実例 バッチ処理後の自動シャットダウン・条件付きシャットダウンのスクリプト例
shutdownコマンドをシェルスクリプトと組み合わせることで、「バッチ処理が完了したら自動シャットダウン」「エラーが起きた場合はシャットダウンしない」などの自動化が実現できます。
#!/bin/bash
# バッチ処理後に自動シャットダウンするスクリプト例
echo "バッチ処理を開始します..."
# メインの処理を実行
./main_batch.sh
EXIT_CODE=$?
if [ $EXIT_CODE -eq 0 ]; then
echo "処理完了。30秒後にシャットダウンします。"
sleep 30
sudo shutdown -h now
else
echo "エラーが発生しました(終了コード: $EXIT_CODE)"
echo "シャットダウンをキャンセルします。"
fi
バッチ処理を実行
./main_batch.sh
$EXIT_CODE
(0=成功、非0=失敗)
30秒待機後
shutdown -h now
エラーメッセージ表示
シャットダウンなし
10 CLAUDE CODE LINUX Claude CodeでLinuxシャットダウンスクリプトを自動生成する シェルスクリプトの要件を日本語で説明するだけでスクリプトが生成できる
Linuxのshutdownコマンドの使い方を覚えても、「シェルスクリプトに組み込みたい」「cronで自動化したい」という場合は追加の知識が必要になります。2026年現在、Claude Codeを使えば日本語でシャットダウンスクリプトの要件を説明するだけで、完成したシェルスクリプトが生成できます。
| あなたの指示 | Claude Codeが生成するもの |
|---|---|
| 「Pythonスクリプトを実行して、成功したら自動シャットダウンするシェルスクリプト」 | exit codeチェック+shutdown -h nowのbashスクリプト |
| 「毎日23:30にサーバーをシャットダウンするcrontabの設定」 | crontabエントリのサンプルと設定方法の説明 |
| 「シャットダウン30分前にSlackに通知してから停止するスクリプト」 | curl(Slack webhook)+shutdownを組み合わせたスクリプト |
| 「サーバーのメモリ使用率が90%を超えたら自動再起動するスクリプト」 | free + awk でメモリ確認 + 閾値を超えたらshutdown -rのスクリプト |
Linuxの自動化スクリプトもClaude Codeで効率化できます
「シャットダウンを条件付きで自動化したい」「cronとshutdownを組み合わせたスクリプトが書けない」——こうしたLinuxの自動化の課題はClaude Codeで解決できます。やりたいことを日本語で説明するだけでシェルスクリプトが生成されます。
まずは無料相談で、サーバー運用・業務自動化の課題をヒアリングさせてください。
NEXT STEP
この記事の内容を、あなたのビジネスで
実践してみませんか?
AI活用を自社で回せるようになりたい方へ
AI鬼管理
Claude Code・Cowork導入支援から業務設計・社内浸透まで実践ベースで伴走。「自社で回せる組織」を90日で作る経営者向けトレーニング。
よくある質問
Q. Linuxで今すぐシャットダウンするコマンドは何ですか?
A. 「sudo shutdown -h now」が最も一般的です。他に「sudo poweroff」や「sudo systemctl poweroff」も同様の動作をします。クラウドサーバー(Ubuntu・CentOS等)やVirtualBoxなどの仮想マシンどちらでも動作します。実行後にSSH接続は切れてサーバーが停止します。
Q. Linuxのshutdownコマンドで30分後にシャットダウンするには?
A. 「sudo shutdown -h +30」と実行します。実行後に「Shutdown scheduled for ... use shutdown -c to cancel」のようなメッセージが表示されます。キャンセルしたい場合は別のターミナルから「sudo shutdown -c」を実行します。
Q. Linuxで再起動するコマンドは何ですか?
A. 「sudo reboot」が最も短くて簡単です。他に「sudo shutdown -r now」や「sudo systemctl reboot」も同様の動作をします。shutdownコマンドは「-r」オプションで再起動になります(-hはシャットダウン)。
Q. shutdown -hとpoweroffとhaltの違いを教えてください。
A. 現代のLinux(systemd環境)ではこれらの差はほぼありません。どれを実行しても電源が切れます。歴史的には「halt」はCPUを停止するが電源が切れない場合があり、「poweroff」はACPI経由で電源を切る、という違いがありましたが、systemd環境では全て同じように動作します。どれを使っても構いませんが、「sudo poweroff」か「sudo shutdown -h now」が最も分かりやすいです。
Q. cronでLinuxを毎日決まった時刻にシャットダウンするには?
A. 「crontab -e」でcrontabを編集し、「30 23 * * * sudo /sbin/shutdown -h now」のように書きます(この例は毎日23:30にシャットダウン)。ただしsudoの設定(NOPASSWD)が必要な場合があります。rootユーザーのcrontabに書く(sudo crontab -e)方が設定が簡単です。
Q. シャットダウンの予約をキャンセルするコマンドは?
A. 「sudo shutdown -c」でキャンセルできます。「shutdown -h +30」のような時間指定のshutdownを予約した後、気が変わった場合に使います。コマンド実行後に「Shutdown cancelled」と表示されれば成功です。
Q. Claude CodeでLinuxのシャットダウンスクリプトを作れますか?
A. できます。「バッチ処理が成功したら自動シャットダウンするシェルスクリプトを書いて」「cronで毎日23:30にサーバーを停止する設定を教えて」のように日本語で説明するだけで、完成したシェルスクリプトとcrontabの設定方法が生成されます。スクリプトのデバッグや環境固有の設定についても質問できます。
Claude Codeで業務自動化を90日で叩き込む
経営者向けの伴走型パーソナルトレーニング
Claude Code を業務に落とし込む
専門研修コース一覧
受講者本人の業務を題材に、「使いこなせる」状態になるまで伴走する研修プログラム。1対1特化型・ハンズオン・法人講座の3コースを展開中。業務特化・実装まで踏み込むタイプのClaude Code研修です。
研修コース一覧を見る →AI鬼管理へのお問い合わせ
この記事を読んで気になった方へ。
AI鬼管理の専門スタッフが、御社に最適な
業務自動化プランを無料でご提案します。





