タイトル: shutdown システムのシャットダウンと再起動
SEOタイトル: shutdown コマンド完全ガイド(Linux / Windows / systemd の使い分け)
| この記事の要点 |
|
Linux のシャットダウン / 再起動コマンド
Linux にはシャットダウン関連のコマンドが複数あり、用途によって使い分けます:
| コマンド | 動作 | 備考 |
|---|---|---|
shutdown -h now | 即時停止 | 全プロセスへ SIGTERM 後、停止 |
shutdown -r now | 即時再起動 | |
shutdown -h +10 | 10 分後に停止 | ログインユーザーに警告 |
shutdown -h 23:00 | 23 時に停止 | 絶対時刻 |
shutdown -c | 予定キャンセル | |
poweroff | 電源 OFF | shutdown -h now のエイリアス相当 |
halt | 停止(電源切れない可) | 古い PC では電源切れない |
reboot | 再起動 | shutdown -r now のエイリアス |
shutdown コマンドの基本構文
shutdown [オプション] [時間] [メッセージ]
# 主なオプション
# -h 停止 (halt/poweroff)
# -r 再起動
# -k 実際は停止せず警告だけ送信(fake shutdown)
# -c 予定済の shutdown をキャンセル
# -P poweroff(電源 OFF、--halt と区別したいとき)
# 時間指定
# now 即時
# +N N 分後
# hh:mm 絶対時刻
実用例
# 即時シャットダウン
sudo shutdown -h now
# 30 分後にシャットダウン、メッセージ付き
sudo shutdown -h +30 "システムメンテナンスを 30 分後に実施します"
# 今夜 23:00 に再起動
sudo shutdown -r 23:00
# 予定済シャットダウンをキャンセル
sudo shutdown -c
# シャットダウンせず警告だけテスト
sudo shutdown -k +5 "テスト警告です"
# 全ユーザーへの警告メッセージ
sudo wall "5 分後に再起動します"
systemd 系コマンド
CentOS 7+ / Ubuntu 16.04+ / Debian 8+ など systemd 採用ディストリでは systemctl も使えます:
# 即時停止
sudo systemctl poweroff
# 即時再起動
sudo systemctl reboot
# サスペンド(メモリに状態保持)
sudo systemctl suspend
# ハイバネート(ディスクに状態保存)
sudo systemctl hibernate
# レスキューモードへ移行
sudo systemctl rescue
# 終了状態の確認
systemctl status
Windows のシャットダウンコマンド
Windows のコマンドプロンプト / PowerShell から:
| コマンド | 動作 |
|---|---|
shutdown /s /t 0 | 即時シャットダウン |
shutdown /r /t 0 | 即時再起動 |
shutdown /h | 休止状態 (Hibernate) |
shutdown /l | ログオフ |
shutdown /s /t 600 | 10 分後にシャットダウン |
shutdown /a | 予定キャンセル |
shutdown /r /o /t 0 | 再起動して詳細オプション |
shutdown /g /t 0 | 再起動後、再ログオン時にアプリ復元 |
Windows: リモートシャットダウン
# リモート PC のシャットダウン
shutdown /m \\PC-NAME /s /t 0 /c "Maintenance"
# リモート PC の再起動(管理者権限・ファイアウォール開放必要)
shutdown /m \\PC-NAME /r /t 60
# GUI からリモート(ダイアログ起動)
shutdown /i
# PowerShell ネイティブ
Stop-Computer -ComputerName PC-NAME -Force
Restart-Computer -ComputerName PC-NAME -Force
# 認証情報付き
$cred = Get-Credential
Restart-Computer -ComputerName PC-NAME -Credential $cred -Force
shutdown と poweroff / halt / reboot の違い
| コマンド | 挙動 | 電源 |
|---|---|---|
shutdown -h | サービス停止 → 停止 | OFF(ACPI 対応 PC) |
poweroff | shutdown -h now と同等 | OFF |
halt | CPU 停止 | 古い PC は OFF にならない |
reboot | shutdown -r now と同等 | 再起動 |
init 0 | ランレベル 0(停止) | OFF(SysV 系) |
init 6 | ランレベル 6(再起動) | 再起動 |
ログイン中ユーザーへの通知
サーバーに他ユーザーがログインしている場合、いきなり落とすとデータ消失のリスクがあります:
# 現在ログイン中ユーザー確認
who
w
# 全員へメッセージ
sudo wall "10 分後に再起動します。作業を保存してください"
# 10 分後に再起動(自動でログイン中ユーザーへ警告される)
sudo shutdown -r +10 "メンテナンス再起動"
シャットダウン中の処理(落ちる前にやっておく)
# 重要サービスの停止確認
sudo systemctl stop nginx
sudo systemctl stop mysql
# ファイルシステム同期(古い PC で安全)
sudo sync; sudo sync
# DB のフラッシュ(MySQL)
mysql -uroot -p -e "FLUSH TABLES WITH READ LOCK;"
# それからシャットダウン
sudo shutdown -h now
FAQ
Q: shutdown コマンドが「command not found」
A: 一般ユーザーでは PATH に /sbin が入っていないことがあります。sudo /sbin/shutdown ... または sudo で実行。
Q: 停止と再起動を間違えた、取り消したい
A: sudo shutdown -c(Linux)または shutdown /a(Windows)でキャンセル可能。ただし shutdown -h now のような即時実行は取り消せません。
Q: Wake on LAN との関係
A: shutdown -h は ACPI S5(ソフト OFF)まで落とすので、WoL マジックパケットで起こせる状態。poweroff も同等。
Q: クラウド VM のシャットダウン
A: AWS EC2 / GCP / Azure では shutdown -h now でインスタンス停止状態になります(課金停止、ストレージ課金は継続)。再起動なら reboot。