重要なポイント
- Linux および macOS システムには、コマンド ラインからコンピュータを安全にシャットダウンまたは再起動するためのシャットダウン、再起動、停止、電源オフなどのコマンドが用意されています。
- これらのコマンドは、systemd ベースのディストリビューションの systemctl コマンドを指すショートカットであり、System V init ベースのシステムとの互換性を確保します。
- shutdown コマンドを使用すると、シャットダウンまたは再起動のスケジュールを設定したり、ログイン ユーザーにメッセージを提供したり、コマンド ライン オプションを使用してスケジュールされたアクションをキャンセルしたりできます。
最初からやり直したいですか?コマンド ラインから Linux または macOS コンピューターをクリーンかつ安全に再起動またはシャットダウンする方法を説明します。
Linux にはどのようなシャットダウン コマンドがありますか?
場合によっては、再起動または完全なシャットダウンを実行する必要がある場合があります。 GUI のないサーバーで作業している場合、またはリモート コンピューターへの SSH セッションを使用している場合は、コマンド ラインが唯一の選択肢です。 Linux や macOS などの Unix 系システムには、コマンド ラインから直接システムをシャットダウンまたは再起動するためのコマンドがいくつか用意されています。
使用できるコマンドは次のとおりです。
- シャットダウン
- リブート
- 停止
- 電源を切る
これらのコマンドのマニュアル ページを調べると、混乱する可能性があります。選択したコマンド ライン オプションに応じて、これらのコマンドはすべて、
シャットダウン
、再起動、およびシステムの停止を実行できます。実際、
reboot
、
halt
、
poweroff
のマニュアル ページに
はまったく同じ情報が
含まれています。
この背後には何があるのでしょうか?
答えは、由緒ある
System V init
システムを置き換えた
systemd
ブートストラップ
システムにあります。 Linux の世界では、Fedora が 2011 年に
systemd
の使用を開始しました。それ以来、Fedora は非常に多くのディストリビューションで採用されています。 Debian と Ubuntu は 2015 年に
systemd
に切り替わりました。
systemd
ベースのディストリビューションでは、
shutdown
、
reboot
、
halt
、および
poweroff
コマンドは実質的に
systemctl
コマンドを指すショートカットになります。これらのコマンドを保持すると、
System V init
ベースのディストリビューションとある程度の互換性が得られます。これは、
systemd
ディストリビューションが実行されているコンピュータにシェル スクリプト (およびハードコアな System V システム管理者) を移動しても、問題が起きないことを意味します。
Linux でのシャットダウンの使用
マルチユーザー システムをシャットダウンまたは再起動するには、事前に計画を立てる必要があります。シャットダウンまたは再起動をいつ行うかを決定し、他のシステム ユーザーにシャットダウンがいつ行われるかを警告する必要があります。それが自分専用のコンピューターであり、それを使用するのが自分だけであれば、生活ははるかにシンプルになります。
これらのコマンドを実行するには、
sudo
グループに属している必要があります。つまり、スーパーユーザー権限があり、
sudo
コマンドを使用できる必要があります。発行したコマンドがすぐに有効になり、ログインしている他のユーザーに影響を与えない場合は、
sudo
を使用する必要はありません。これらのコマンドのいずれかを使用しようとしてコマンドが拒否された場合は、
sudo
を使用して再試行してください。
デフォルトでは、
shutdown
コマンドは、すべてのプロセスが正常に停止され、すべてのファイルシステムが同期され、すべての CPU アクティビティが停止することを保証します。これが「停止」状態です。次に、ハードウェアにメッセージを送信して電源を遮断します。もちろん、これはシャットダウンまたは「電源オフ」状態です。
時間文字列や、ログインしているユーザーにシャットダウンを警告するために送信されるメッセージなど、いくつかのパラメーターを
shutdown
渡すのが一般的です。今から 15 分間シャットダウンをスケジュールしましょう。
shutdown
、スペース、
+15
、スペースを入力してから、ユーザーに送信するメッセージを入力します。
shutdown +15 15 分後にシャットダウンします!
使用した時刻文字列は
+15
で、今から 15 分後を表します。
+
はオプションです。
15
と入力することもできます。
シャットダウンがスケジュールされていることと、シャットダウンがいつ行われるかを確認する応答を受け取ります。ログインしているユーザーは、提供されたメッセージを受け取ります。
シャットダウンをキャンセルするには、
-c
(キャンセル) オプションを使用します。
シャットダウン -c
シャットダウンがキャンセルされたという通知は届きませんが、ログインしているユーザーには通知が届きます。
時間文字列を指定しない場合、シャットダウンは今から 1 分後にスケジュールされます。時間文字列を指定しない場合、ログインしているユーザーにメッセージを提供できないことに注意してください。
シャットダウン
1 分も待てない場合は、時間文字列として
now
を使用すると、シャットダウンが即座に有効になります。
now
を使用することは、
+0
使用することと同じです。
時刻文字列には、23:00 などの設定時刻を指定できます。
HH:MM
の形式に従い、24 時間制である必要があります。システムがダウンする 5 分前に、新しいログインが禁止されます。
デフォルトの
shutdown
動作では、コンピュータが停止状態になり、その後電源がオフの状態になることがわかっています。他のコマンド ライン オプションを渡すことで、この動作をオーバーライドできます。
-
-H(停止) オプションは、コンピュータを停止状態にしますが、ハードウェアの電源を切るように要求しません。 -
-P(電源オフ) がデフォルトのアクションです。コンピュータは停止状態になり、電源がオフになります。 -
-r(再起動) オプションは、コンピュータを停止状態にしてから再起動します。 -
-h(停止および電源オフ) オプションは、-Pと同じです。-hと-H一緒に使用すると、-Hオプションが優先されます。 -
-c(キャンセル) オプションは、スケジュールされたシャットダウン、停止、または再起動をキャンセルします。
以下は、再起動をスケジュールした例です。
shutdown -r 08:20 システムは 08:20 に再起動します
再起動、停止、および電源オフのコマンド
これらのコマンドは、その名前が示すとおりのアクションを実行します。ただし、それぞれのコマンド ライン オプションを使用して、再起動、停止、または電源オフを実行できます。しかし、なぜ問題を混乱させるのでしょうか?これらのコマンドは、額面どおりに使用するのが最適です。
今すぐ再起動したい場合は、
reboot
使用してください。今すぐ電源をオフにする場合は
poweroff
を使用し、システムを今すぐ停止する場合は
halt
を使用します。
リブート
停止
電源を切る
これらのコマンドはすぐに有効になります。これらのコマンドのいずれかが拒否された場合は、コマンドの前に
sudo
を付けます。ただし、拒否されるのは通常、オフラインにしようとしているシステムに他のユーザーがログインしているためであることに注意してください。
どのコマンドが私に適していますか?
マルチユーザー環境では、
shutdown
を使用してこれらのアクションを実行すると、より詳細な制御が可能になります。このような場合、シャットダウンと再起動をスケジュールし、ブロードキャスト メッセージでユーザーに警告する機能が非常に役立ちます。シングルユーザー コンピュータの場合は、
reboot
て
poweroff
でニーズを満たすことができます。





