コマンドラインを使用してLinuxを再起動またはシャットダウンする方法
重要なポイント
- LinuxおよびmacOSシステムは、コマンドラインからコンピュータを安全にシャットダウンまたは再起動するために、shutdown、reboot、halt、poweroffなどのコマンドを提供しています。
- これらのコマンドは、systemdベースのディストリビューションにおけるsystemctlコマンドを指し示すショートカットであり、System V初期化ベースのシステムとの互換性を確保しています。
- シャットダウンコマンドを使用することで、シャットダウンや再起動をスケジュールしたり、ログインしているユーザーにメッセージを提供したり、コマンドラインオプションを使用してスケジュールされたアクションをキャンセルすることができます。
再スタートしたい気分ですか? コマンドラインからLinuxまたはmacOSコンピュータをきれいに安全に再起動またはシャットダウンする方法をお教えします。
Linuxにはどのようなシャットダウンコマンドがありますか?
時には、再起動や完全シャットダウンを行う必要があります。GUIなしのサーバーで作業している場合や、リモートコンピュータへのSSHセッション中の場合、コマンドラインが唯一の選択肢です。LinuxやmacOSなどのUnix系システムは、コマンドラインから直接システムをシャットダウンまたは再起動するためのいくつかのコマンドを提供しています。
使用できるコマンドは次のとおりです:
- シャットダウン
- 再起動
- 停止
- 電源オフ
これらのコマンドのマニュアルページを見ていると混乱することがあります。選択するコマンドラインオプションによって、これらのコマンドはすべてシャットダウン、再起動、システムの停止を行うことができます。実際、reboot、halt、およびpoweroffのマニュアルページには、まったく同じ情報が含まれています。
これの背後には何がありますか?
その答えは、古くからある System V init システムに代わって導入された systemdbootstrap システムにあります。Linux の世界では、Fedora が 2011 年に systemd を使用し始めました。それ以来、多くのディストリビューションに採用されています。Debian と Ubuntu は 2015 年に systemd に切り替えました。
systemdベースのディストリビューションでは、shutdown、reboot、halt、およびpoweroffコマンドは実質的にsystemctlコマンドへのショートカットです。これらのコマンドを維持することで、System V init-ベースのディストリビューションとの互換性の一部が保たれます。これは、シェルスクリプト(およびハードコアなSystem Vシステム管理者)がsystemdディストリビューションが稼働しているコンピュータに移動しても、問題が発生しないことを意味します。
Linuxでのシャットダウンの使用
複数のユーザーがいるシステムをシャットダウンまたは再起動する場合、事前に計画を立てる必要があります。シャットダウンまたは再起動を行うタイミングを決め、他のシステムユーザーにシャットダウンが近づいていることとその時期を伝える必要があります。自分のコンピュータで、自分だけが使用する場合は、状況がずっと簡単です。
これらのコマンドを実行するには、sudoグループに所属している必要があります。つまり、スーパーユーザーの権限を持ち、sudoコマンドを使用できる必要があります。発行したコマンドが即座に効果を持ち、他のログインユーザーに影響を与えない場合は、sudoを使用する必要はありません。これらのコマンドを使用しようとして拒否された場合は、sudoを使って再試行してください。
デフォルトでは、shutdownコマンドは、すべてのプロセスが正常に停止し、すべてのファイルシステムが同期され、すべてのCPU活動が停止していることを保証します。これが「停止」状態です。その後、ハードウェアに電源を切るようにメッセージを送ります。これはもちろん、シャットダウンまたは「電源オフ」状態です。
システムをシャットダウンするために、時間文字列やログインしているユーザーに送信されるメッセージなど、いくつかのパラメータを渡すことが一般的です。今から15分後にシャットダウンをスケジュールしましょう。shutdown、スペース、+15、スペース、そしてユーザーに送信するメッセージを入力してください。
shutdown +15 Shutting down in 15 minutes!私たちが使用した時間文字列は+15で、これは今から15分後を表しています。+はオプションです。15と入力しても良かったでしょう。
私たちは、シャットダウンが予定されていることとその発生時刻を確認する応答を受け取ります。ログイン中のユーザーには、私たちが提供したメッセージが届きます。
シャットダウンをキャンセルするには、-c(キャンセル)オプションを使用します。
shutdown -cシャットダウンがキャンセルされたという通知は受け取られませんが、ログイン中のユーザーには通知が届きます。
時間文字列を提供しない場合、1分後にシャットダウンがスケジュールされます。時間文字列を指定しない場合、ログインしているユーザーにメッセージを提供することはできませんのでご注意ください。
shutdownもし1分さえ待てない場合は、時間文字列としてnowを使用すれば、シャットダウンが即座に実行されます。nowを使用することは+0を使用するのと同じです。
時刻文字列は、23:00のように設定された時刻である必要があります。形式はHH:MMに従い、24時間制でなければなりません。システムが停止する5分前に新しいログインは防止されます。
shutdown のデフォルトの動作は、コンピュータを停止状態にした後、電源オフ状態に移行することを私たちは知っています。この動作は、他のコマンドラインオプションを渡すことによって上書きすることができます。
-H(ハルト)オプションは、コンピュータをハルト状態にしますが、ハードウェアに電源オフを要求することはありません。-P(poweroff)はデフォルトのアクションです。コンピュータは停止状態に落とされ、その後電源が切られます。-r(再起動)オプションはコンピュータを停止状態にし、その後再起動します。-h(停止および電源オフ)オプションは、-Pと同じです。-hと-Hを一緒に使用した場合、-Hオプションが優先されます。-c(キャンセル)オプションは、スケジュールされたシャットダウン、停止、または再起動をキャンセルします。
ここに、再起動をスケジュールした例があります。
shutdown -r 08:20 System rebooting at 08:20リブート、停止、シャットダウンコマンド
これらのコマンドは、その名前が示すアクションを実行します。しかし、各コマンドは、いずれかを再起動、停止、または電源オフを実行するためのコマンドラインオプションを受け付けます。しかし、なぜ混乱させるのか?これらのコマンドはそのままの意味で使用するのが最良です。
今すぐ再起動したい場合はrebootを使用してください。今すぐ電源をオフにしたい場合はpoweroffを使用し、今すぐシステムを停止したい場合はhaltを使用してください。
reboothaltpoweroffこれらのコマンドは即座に実行されます。これらのコマンドが拒否された場合は、sudoを前につけてください。ただし、拒否されるのは通常、あなたがオフラインにしようとしているシステムに他のユーザーがログインしているためです。
どのコマンドが私に適していますか?
複数ユーザー環境では、これらのアクションを実行するためにshutdownを使用することで、より多くのコントロールを得ることができます。シャットダウンと再起動をスケジュールし、ブロードキャストメッセージでユーザーに警告する機能は、これらのケースで非常に貴重です。単一ユーザーのコンピュータでは、rebootとpoweroffがニーズを満たすでしょう。
Linuxコマンド | ||
ファイル | t | |
プロセス | A | |
ネットワーキング | netstat・ping・traceroute・ip・ss・whois・fail2ban・bmon・dig・finger・nmap・ftp・curl・wget・who・whoami・w・iptables・ssh-keygen・ufw・arping・firewalld |












