reboot コマンドは、Linuxシステムを安全に再起動するためのコマンドです。
カーネルに再起動シグナルを送信し、すべてのプロセスを終了させたうえでシステムをリブートします。
構文(Syntax)
reboot [オプション]
主なオプション一覧
| オプション | 説明 | 使用例 |
|---|---|---|
| (なし) | 即座に再起動する | sudo reboot |
-f, --force | initシステムを介さず即座に再起動(ファイルシステムが正しくアンマウントされない) | sudo reboot -f |
-n, --no-sync | 再起動前にディスクの同期(sync)を行わない | sudo reboot -n |
-d, --no-wtmp | wtmp(ログイン履歴)に記録を書かない | sudo reboot -d |
-w, --wtmp-only | wtmpへの記録だけ行い、実際には再起動しない | sudo reboot -w |
--no-wall | 全ユーザーへの通知(wall)を送らない | sudo reboot --no-wall |
--halt | 再起動せず停止(halt)する | sudo reboot --halt |
--poweroff | 再起動せず電源を切る | sudo reboot --poweroff |
注意したいのが -p です。-p(--poweroff の短縮形)は halt または poweroff から呼ばれたときにだけ有効で、reboot から呼んだ場合は無視されます。man 8 reboot にも「This option is ignored when reboot is invoked.」と明記されています。sudo reboot -p は電源が切れるのではなく通常どおり再起動するため、電源を落としたい場合は sudo poweroff(または sudo reboot --poweroff)を使ってください。
また、SysV時代の -h オプションはsystemd環境の reboot には存在しません。停止だけしたい場合は --halt を使います。
実行例
通常の再起動
sudo reboot
(システムが安全に再起動されます)
強制再起動
sudo reboot -f
(全プロセスを待たずに即座にリブート、データ消失の危険あり)
再起動ではなく電源を切る
sudo reboot --poweroff
(システムの電源がオフになります。短縮形の -p は reboot から呼ぶと無視されるため、必ず長い --poweroff を使うか、素直に sudo poweroff を実行してください)
systemctl reboot との関係
systemdを採用している現在のディストリビューション(Ubuntu、Debian、RHEL系など)では、reboot はsystemctl へのシンボリックリンクです。実体が同じなので sudo reboot と sudo systemctl reboot の動作は変わりません。
$ ls -l /usr/sbin/reboot
lrwxrwxrwx 1 root root 16 /usr/sbin/reboot -> ../bin/systemctl
パッケージ更新中などに再起動を止める「インヒビター」が有効だと待たされることがあります。無視して再起動するには sudo systemctl reboot -i(--check-inhibitors=no の短縮形)を使いますが、実行前に systemd-inhibit --list で何が止めているかを確認してください。
エラー例(root権限なしで実行)
reboot
出力例:
Call to Reboot failed: Interactive authentication required.
systemd環境では権限が足りない場合にpolkitの認証が要求され、このメッセージが表示されます。sudo reboot のように sudo を付けて実行してください。SysV時代の reboot: Need to be root というメッセージは、現在のsystemd環境では表示されません。
関連コマンド
shutdown: 時間指定・メッセージ通知付きで再起動・停止を行う。shutdown -r nowで即時再起動。halt: CPUを停止するが電源は切らない。poweroff: システムの電源を切る。
備考
- 実行には通常
root権限が必要です。 - systemd 環境では
systemctl rebootと同等の動作をします。 - 強制再起動(
-f)は非常時のみ使用推奨です。
よくある質問(FAQ)
なぜ reboot に sudo が必要なのですか?
システムの再起動は全ユーザーのプロセスに影響する操作のため、一般ユーザー権限では実行できません。rebootを一般ユーザーで実行するとsystemd環境ではCall to Reboot failed: Interactive authentication required.というエラーになるため、sudo rebootのように管理者権限で実行します。sudo 自体の仕組みはsudo コマンドの使い方を参照してください。
sudo reboot と shutdown -r now の違いは?
どちらも即座に再起動する点は同じですが、shutdownは再起動までの時間指定やログインユーザーへの通知メッセージ送信に対応している点が異なります。単に今すぐ再起動したいだけならsudo rebootの方がシンプルです。
sudo reboot を実行してもサーバーが応答しなくなった場合は?
SSH接続先のサーバーでrebootを実行すると、再起動と同時にSSHセッションも切断されます。これは正常な動作です。再起動には数十秒〜数分かかることがあるため、少し時間を置いてから再度SSH接続を試してください。長時間応答しない場合は、クラウドの管理コンソールなどでインスタンスの状態を確認しましょう。

コメント