Linux システムのシャットダウンコマンドの違いと使い方の詳細な説明

Linux システムのシャットダウンコマンドの違いと使い方の詳細な説明

Linux システムのシャットダウン コマンドは何ですか? Liangxu Tutorial Network があなたのための答えを持っています! Linux に詳しい友人であれば、Linux システムでよく使用されるシャットダウン コマンドは、shutdown、halt、poweroff、init であり、再起動コマンドは、reboot であることを知っているはずです。以下の記事では、主によく使用されるシャットダウン コマンドと、さまざまなシャットダウン コマンドの違いや具体的な使用方法について説明します。

以下は、よく使用されるシャットダウンコマンドの一部です。

1. 停止するとすぐにコンピュータがシャットダウンします

2. 電源オフ: すぐにコンピュータをシャットダウンします

3. シャットダウン -h はすぐにシャットダウンします (root ユーザーが使用)

4. シャットダウン -h 10 は10分後に自動的にシャットダウンします

注: シャットダウンを設定するためにshutdown コマンドが使用されている場合、shutdown -c コマンドを使用して再起動をキャンセルできます。

再起動コマンド:

シャットダウン -r now すぐに再起動します(rootユーザーの場合)
シャットダウン -r 10 10分後に自動的に再起動します(rootユーザーの場合)
シャットダウン -r 20:35 20:35 に再起動 (root ユーザーが使用)

注意: 再起動がシャットダウン コマンドによって設定されている場合、shutdown -c コマンドを使用して再起動をキャンセルできます。

次に、Liangxu Tutorial Network の編集者の指示に従って、Linux の特定のシャットダウン コマンドの違いと、それぞれの使用方法を見てみましょう。

1.shutdown セーフシャットダウンコマンド

シャットダウンコマンドに関しては、誰からも推奨される安全なコマンドです。-h または -r パラメータを使用して、シャットダウンを完了したり、再起動したりできます。ただし、Linux システムでは、このコマンドを使用できるのは root 権限を持つユーザーのみです。したがって、誰もがこのコマンドの使用を推奨していますが、実際にはあまり便利ではありません。このコマンドを使用しますか?まずルート権限を取得します。シャットダウンは、init に信号を送信して、コンピューターをシャットダウンするために実行レベルを変更するように要求することにより、シャットダウンを実行します。シャットダウンまたは再起動は実際には実行レベルを調整することなので、init を使用して実行レベルを直接調整し、シャットダウンまたは再起動することもできます。このコマンドを使用すると、マシンは直ちにシャットダウンまたは再起動されます。また、ルート権限も必要です。

では、なぜシャットダウン コマンドはシステムを安全にシャットダウンすると言われるのでしょうか?

実際には、電源を直接切断して Linux をシャットダウンするユーザーもいますが、これは非常に危険です。 Linux は Windows とは異なり、バックグラウンドで多くのプロセスが実行されているため、強制シャットダウンするとプロセス データが失われ、システムが不安定な状態になる可能性があります。システムによっては、ハードウェア デバイスが損傷する可能性もあります。システムをシャットダウンする前にシャットダウン コマンドを使用すると、システム管理者はログインしているすべてのユーザーにシステムがシャットダウンすることを通知します。また、ログイン コマンドが凍結され、新しいユーザーはログインできなくなります。コンピュータを直接シャットダウンしたり、一定時間遅延したり、再起動したりすることも可能です。これは、すべてのプロセスがシステムから送信された信号を受信するという事実によって決定されます。
シャットダウンは、init プログラムに信号を送信して、ランレベルの変更を要求することによって作業を実行します。ランレベル 0 はシステムを停止するために使用され、ランレベル 6 はシステムを再起動するために使用され、ランレベル 1 はシステムを管理作業を実行できる状態にするために使用され、これがデフォルトです。シャットダウンに -h パラメータも -r パラメータも指定されていないと想定します。停止または再起動中にどのようなアクションが実行されるか知りたいですか?これらのランレベルに関する情報は、/etc/inittab ファイルで確認できます。

シャットダウンパラメータの説明:

  • [-t] システムをシャットダウンしてから別のランレベルに変更するまでの待機時間を init に指示します。
  • [-r] 計算機を再起動します。
  • [-k] は実際にコンピュータをシャットダウンするのではなく、ログインしている各ユーザーに警告信号を送信するだけです。
  • [-h] シャットダウン(停止)後に電源をオフにします。
  • [-n] initを使用せず、システムを自動的にシャットダウンします。このオプションの使用は推奨されません。期待どおりの結果が得られない場合もあります。
  • [-c] 現在のプロセスをキャンセルします。現在実行中のシャットダウン プロセスをキャンセルします。このオプションには時間パラメータはありませんが、
  • 各ユーザーには説明メッセージが送信されます。
  • [-f] コンピュータを再起動するときに fsck を無視します。
  • [-F] 再起動時に fsck を強制します。
  • [-time] シャットダウン前の時間を設定します。

2.halt 最も簡単なシャットダウンコマンド

halt コマンドを使用してコンピューターをシャットダウンする場合、実際に呼び出されるのは、shutdown -h です。 halt を実行すると、アプリケーション プロセスが強制終了され、sync システム コールが実行され、ファイル システムへの書き込み操作が完了した後にカーネルが停止します。

haltパラメータの説明:

  • [-n] sync システム コールを防止します。これは、fsck を使用してルート パーティションにパッチを適用した後、カーネルがパッチを適用したスーパーブロックを古いバージョンのスーパーブロックで上書きするのを防ぐために使用されます。
  • [-w] は実際にコンピュータを再起動またはシャットダウンするのではなく、wtmp〔/var/log/wtmp〕に記録を書き込むだけです。
  • [-d] wtmpレコードを書き込まない(オプション[-n]に含まれる)。
  • [-f] シャットダウンを呼び出さずに強制的にシャットダウンまたは再起動します。
  • [-i] シャットダウン(または再起動)する前に、すべてのネットワーク インターフェイスをシャットダウンします。
  • [-p] このオプションはデフォルトのオプションです。つまり、シャットダウン時に poweroff が呼び出されます。

3.poweroff 一般的なシャットダウンコマンド

poweroff については、インターネットでは halt コマンドへのリンクであると書かれており、基本的な使い方は halt と似ているため、ここでは詳しく説明しません。

4.初期化

Init はすべてのプロセスの祖先であり、Linux システムの動作に不可欠なプログラムの 1 つです。プロセス番号は常に 1 なので、init に TERM シグナルを送信すると、すべてのユーザー プロセス、デーモンなどが終了します。シャットダウンはこのメカニズムを使用します。 init は 8 つのランレベルを定義します。init 0 はシャットダウン、init 1 は再起動です。

5. 再起動コマンド

再起動の動作プロセスは停止とほぼ同じです。ただし、停止するとホストがシャットダウンするのに対し、停止するとホストが再起動します。そのパラメータは halt に似ています。

上記は、Linux システム シャットダウン コマンドの違いと使用方法の詳細な内容です。Linux システム シャットダウン コマンドの違いと使用方法の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • Linux シャットダウンコマンドの概要の詳細な説明

<<:  MySQL トランザクション自動コミット自動コミット操作

>>:  HTML テーブル マークアップ チュートリアル (38): ヘッダーの境界線の色属性 BORDERCOLOR

推薦する

ウェブページでよく使用される共有コードの完全なリスト(フロントエンドに必須)

コードをコピーコードは次のとおりです。 1. 新浪微博<a href="http:/...

jsオブジェクトの読み取り速度の詳細な例

1. リテラルとローカル変数へのアクセスは最も高速ですが、配列要素とオブジェクト メンバーへのアクセ...

Linux で FastDFS ファイル サーバーを構築するための実装手順

目次1. ソフトウェアパッケージ2. gccをインストールする3. libfastcommonをイン...

HTML で Web ページに動的な時計を書く

HTML を使用して動的な Web クロックを作成します。コードは次のとおりです。 <!DOC...

nginx を使用したプロキシ サーバーの設定

Nginx は、リバース プロキシ機能を使用して負荷分散を実装できるほか、フォワード プロキシ機能を...

Vue3コンポーネントの開発詳細

目次1. はじめに2. コンポーネント開発1. コンポーネントの構成2. ヘッダーコンポーネントの開...

MySQLでカンマ区切り値の列を列に変換する方法

序文場合によっては、第 1 正規形設計パターンに従わないビジネス テーブルに遭遇することがあります。...

メタビューポートタグ(モバイルブラウジングズームコントロール)の使用方法

OP が現在のファームウェアで Web ページを開くと、常に 50% にズームアウトされてから表示さ...

Viteの新しい体験の詳細な説明

Vite とは何ですか? (フロントエンドの新しいおもちゃです) Vite は、ネイティブ ES モ...

仕事でよく使うLinuxコマンドまとめ

仕事では、docker や kubernetes などのオープンソース ツールをさらに活用しましょう...

少なくともn日間連続してログインしているユーザーに対するSQLクエリ

MySQL ツールを使用して、3 日間連続する例を見てみましょう。 1. SQL テーブルを作成しま...

mysql8でルートユーザーのパスワードをリセットする手順を完了します

序文最近、多くの新しい同僚がこの質問をしてきました。特に、homebrew を通じて自動的にインスト...

Dockerを使用してクローンリポジトリを使用してGitイメージを構築する

概要私は 1 年以上 Docker を使用しています。最近、サービスをすばやくオーケストレーションし...

Windows および Linux で tomcat9 を介して war パッケージを手動で展開する方法

Windows 環境と Linux 環境では結果が異なります。ウィンドウズステップ 1: Maven...

Centos7 サーバーで jar パッケージ プロジェクトを開始する最良の方法

序文Linux 上で jar パッケージを実行する方法は誰もが知っています。なぜ別々に話したいのでし...