restart、init 6、およびshutdown -r nowの違いは何ですか?

restart、init 6、およびshutdown -r nowの違いは何ですか?

私はちょうど次の違いを知りたいです。

  • reboot
  • init 6
  • shutdown -r now

どちらが最も安全で最高ですか?

答え1

それらの間に違いはありません。内部的にはまったく同じことをします。

  • rebootshutdown-rスイッチでコマンドを使用します。 shutdownコマンドは、実行中のすべてのプロセスを終了し、すべてのファイルシステムをアンマウントしてから、最後にカーネルにACPI電源コマンドを発行するように指示します。ソースは次のとおりです。ここで発見。以前のディストリビューションでは、再起動コマンドがシグナルをエクスポートしてプロセスを強制的に終了しましたがSIGKILL(ソースでまだ利用可能で-fオプションとして呼び出すことができます)、最新のディストリビューションではデフォルトはよりエレガントで初期化しやすいシグナルに設定されましたinit 1 -> shutdown -r。これにより、デーモンが終了する前にそれ自体がクリーンアップされます。

  • init 6initinitファイルに書き込まれた生成されたすべてのプロセス/デーモンを(開始順序とは逆の順序で)終了し、最後にshutdown -r nowコマンドを呼び出してシステムを再起動するようにプロセスに指示します。

最近では、両方のコマンドがまったく同じことを行い、終了スクリプトを呼び出してサービス/デーモンを起動するために使用されるinitスクリプトに従うため、大きな違いはありません。reboot -f -r now以下の場合を除き

なぜ安全ではないの簡単な説明がマンページにありますreboot -f

  -f, --force
    すぐに強制停止、電源オフ、再起動。初期化システムに接続しないでください。

編集する:

systemctl将来のRHELリリースでは、シャットダウン/再起動コマンドを実行するために新しいコマンドを使用する必要があることに言及することを忘れていました。rebootそしてマンページに記載されているように、shutdown「互換のみのためのレガシーコマンド」です。そしてこのsystemctl方法は唯一の安全な方法です。

答え2

Off は以下を指定できるので、より良いオプションです。理由大胆な措置を講じてください。いつもやるべきことです。メッセージは後で記録されます。たとえば、

shutdown -r now 'Kernel upgrade requires reboot'

またできます予定now再起動 - 再起動時間以外の時間を指定して:

shutdown -r 22:00 'Work around kernel memory leak'

その後、時間が経つにつれて、ユーザーは定期的な通知を受け取り、プロセスはより体系的で専門的になります。

答え3

rebootFreeBSDではshutdown -r nowrebootマニュアルページから:

通常、システムを停止または再起動する必要がある場合、shutdown(8)ユーティリティは、差し迫った終了についてユーザーに事前に警告し、特定のプログラムを完全に終了するために使用されます。

答え4

従来の unices ではrebootおよびshutdown -r now別の命令です。一般的な使用では、rebootシングルユーザーモードでのみ使用するのは安全です。

shutdown -r nowさまざまな*nixにわたる標準的なシャットダウン方法であり、一般的に使用するより安全で機能的にinit 6

初期化(8) 再起動(8)

関連情報