私はちょうど次の違いを知りたいです。
reboot
init 6
shutdown -r now
どちらが最も安全で最高ですか?
ベストアンサー1
それらの間に違いはありません。内部的にはまったく同じことをします。
reboot
shutdown
-rスイッチでコマンドを使用します。 shutdownコマンドは、実行中のすべてのプロセスを終了し、すべてのファイルシステムをアンマウントしてから、最後にカーネルにACPI電源コマンドを発行するように指示します。ソースは次のとおりです。ここで発見。以前のディストリビューションでは、再起動コマンドがシグナルをエクスポートしてプロセスを強制的に終了しましたがSIGKILL
(ソースでまだ利用可能で-f
オプションとして呼び出すことができます)、最新のディストリビューションではデフォルトはよりエレガントで初期化しやすいシグナルに設定されましたinit 1 -> shutdown -r
。これにより、デーモンが終了する前にそれ自体がクリーンアップされます。init 6
init
initファイルに書き込まれた生成されたすべてのプロセス/デーモンを(開始順序とは逆の順序で)終了し、最後にshutdown -r now
コマンドを呼び出してシステムを再起動するようにプロセスに指示します。
最近では、両方のコマンドがまったく同じことを行い、終了スクリプトを呼び出してサービス/デーモンを起動するために使用されるinitスクリプトに従うため、大きな違いはありません。reboot -f -r now
以下の場合を除き
なぜ安全ではないの簡単な説明がマンページにありますreboot -f
。
-f, --force すぐに強制停止、電源オフ、再起動。初期化システムに接続しないでください。
編集する:
systemctl
将来のRHELリリースでは、シャットダウン/再起動コマンドを実行するために新しいコマンドを使用する必要があることに言及することを忘れていました。reboot
そしてマンページに記載されているように、shutdown
「互換のみのためのレガシーコマンド」です。そしてこのsystemctl
方法は唯一の安全な方法です。