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方法は唯一の安全な方法です。

おすすめ記事