poweroff コマンドは、Linuxシステムを停止させたうえで電源をオフにするためのコマンドです。
サーバーやPCを安全にシャットダウンするときに利用されます。
構文(Syntax)
poweroff [オプション]
主なオプション一覧
| オプション | 説明 | 使用例 |
|---|---|---|
| (なし) | システムを停止して電源を切る | sudo poweroff |
-f, --force | initシステムを介さず即座に電源を切る(ファイルシステムが正しくアンマウントされない) | sudo poweroff -f |
-n, --no-sync | 電源を切る前にディスクの同期(sync)を行わない | sudo poweroff -n |
-d, --no-wtmp | wtmp(ログイン履歴)にシャットダウン記録を書かない | sudo poweroff -d |
-w, --wtmp-only | wtmpへの記録だけ行い、実際には電源を切らない | sudo poweroff -w |
--no-wall | 全ユーザーへの通知(wall)を送らない | sudo poweroff --no-wall |
--halt | 電源を切らず停止(halt)する | sudo poweroff --halt |
--reboot | 電源を切らず再起動する | sudo poweroff --reboot |
SysV時代に使われていた -h オプションは、systemd環境の poweroff には存在しません。man 8 poweroff にも記載がなく、指定してもエラーにならないまま通常の電源オフが実行されるため、意図した挙動と食い違う点に注意してください。停止だけしたい場合は --halt を使います。
実行例
通常の電源オフ
sudo poweroff
(システムが安全に停止され、電源が切れます)
強制的に電源オフ
sudo poweroff -f
(すぐに電源が切れるため、データ消失の危険あり)
電源を切らずに停止する(–halt)
sudo poweroff --halt
(システムを停止しますが、電源は入ったままになります。halt コマンドを実行した場合と同じ動作です)
systemctl poweroff との関係
systemdを採用している現在のディストリビューション(Ubuntu、Debian、RHEL系など)では、poweroff はsystemctl へのシンボリックリンクです。実体が同じなので、poweroff と systemctl poweroff はどちらを使っても動作は変わりません。
$ ls -l /usr/sbin/poweroff
lrwxrwxrwx 1 root root 16 /usr/sbin/poweroff -> ../bin/systemctl
halt / reboot / shutdown も同様に systemctl へのリンクになっています。SysV時代のコマンド名は互換性のために残されている、という位置づけです。
systemctl poweroff -i(インヒビターを無視する)
systemdには「シャットダウンを一時的に止める」インヒビター(inhibitor)という仕組みがあります。パッケージ更新中や重要な処理の実行中に電源が落ちるのを防ぐもので、有効なインヒビターがあると systemctl poweroff は待たされたり中断されたりします。
現在のインヒビターは systemd-inhibit --list で確認できます。
$ systemd-inhibit --list
WHO UID USER PID COMM WHAT WHY
NetworkManager 0 root 848 NetworkManager sleep NetworkManager needs to turn off networks
Unattended Upgrades Shutdown 0 root 1016 unattended-upgr shutdown Stop ongoing upgrades or perform upgrades before shutdown
4 inhibitors listed.
これを無視して強制的に電源を切りたいときに -i を使います。-i は --check-inhibitors=no の短縮形です。
sudo systemctl poweroff -i
WHAT が shutdown のインヒビター(上の例では自動更新)は、電源を切ると更新が中途半端な状態で止まる可能性を示しています。-i で無視する前に、何が止めているのかを確認してください。-f がinitシステムを介さずに強制終了するのに対し、-i は通常のシャットダウン手順を踏んだうえでインヒビターの確認だけを省く点が違います。
エラー例(root権限なしで実行)
poweroff
出力例:
Call to PowerOff failed: Interactive authentication required.
systemd環境では、権限が足りない場合はpolkitによる認証が求められ、このメッセージが表示されます。sudo poweroff のように sudo を付けて実行してください。なお、SysV時代の poweroff: Need to be root というメッセージは現在のsystemd環境では表示されません。
shutdown・halt・reboot との使い分け
| コマンド | 動作 | 使いどころ |
|---|---|---|
poweroff | 停止して電源を切る | 今すぐ電源を落としたいとき |
halt | 停止するが電源は入ったまま | 電源を維持したまま停止したいとき(systemdではpoweroffと明確に区別される) |
reboot | 再起動する | 設定反映やカーネル更新後 |
shutdown -h now | 停止(時間指定・予約・通知が可能) | 複数ユーザーが使うサーバー |
SysV系では halt と poweroff は同義として扱われることが多かったのですが、systemdでは明確に区別されます。halt はマシンを停止するだけで電源は落とさないため、電源まで切りたい場合は poweroff を使ってください。
時間を指定した予約シャットダウンや、ログイン中のユーザーへの事前通知が必要な場合は Linuxシャットダウンコマンド|shutdownの書き方と予約取消 を参照してください。halt との違いをさらに詳しく知りたい場合は Linuxのhaltコマンドとは?shutdown・poweroffとの違いと安全な使い方 にまとめています。
関連コマンド
備考
- 実行には通常
root権限が必要です。 systemd環境ではsystemctl poweroffと同等の動作をします。- 強制オプション(
-f)は非常時以外では使用しないことが推奨されます。

コメント