GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was ist der Unterschied zwischen reboot , init 6 und shutdown -r now?

Es gibt keinen Unterschied in ihnen. Intern machen sie genau dasselbe:

  • reboot verwendet den shutdown Befehl (mit dem Schalter -r). Der Shutdown-Befehl beendet alle laufenden Prozesse, hängt alle Dateisysteme aus und weist den Kernel schließlich an, den ACPI-Power-Befehl auszugeben. Die Quelle finden Sie hier. In älteren Distributionen zwang der Neustartbefehl die Prozesse zum Beenden, indem SIGKILL ausgegeben wurde Signal (immer noch in Quellen zu finden, kann mit -f aufgerufen werden Option), in den neuesten Distributionen ist es standardmäßig das anmutigere und init-freundlichere init 1 -> shutdown -r . Dadurch wird sichergestellt, dass Daemons sich vor dem Herunterfahren selbst bereinigen.

  • init 6 sagt die init Prozess, um alle erzeugten Prozesse/Daemons, wie in den Init-Dateien geschrieben, herunterzufahren (in der umgekehrten Reihenfolge, in der sie gestartet wurden) und schließlich den shutdown -r now aufzurufen Befehl zum Neustart des Computers

Heutzutage gibt es keinen großen Unterschied, da beide Befehle genau dasselbe tun und die Init-Skripte respektieren, die zum Starten von Diensten/Daemons verwendet werden, indem sie die Shutdown-Skripte für sie aufrufen. Außer reboot -f -r now wie unten angegeben

Es gibt eine kleine Erklärung aus Manpages, warum der reboot -f ist nicht sicher:

  -f, --force
    Force immediate halt, power-off, reboot. Don't contact the init system.

Bearbeiten:

Vergessen zu erwähnen, dass Sie in kommenden RHEL-Distributionen den neuen systemctl verwenden sollten Befehl zum Abschalten/Neustarten. Wie in den Manpages von reboot angegeben und shutdown Sie sind "ein Legacy-Befehl, der nur aus Kompatibilitätsgründen verfügbar ist". und die systemctl Methode ist die einzig sichere.


Das Herunterfahren ist vorzuziehen, da Sie damit den Grund angeben können für die drastische Aktion – etwas, das Sie immer tun sollten. Die Nachricht wird für die Nachwelt in den Protokollen aufgezeichnet. Zum Beispiel:

shutdown -r now 'Kernel upgrade requires reboot'

Sie können auch eine geplante Ausführung durchführen reboot -- indem Sie etwas anderes als now angeben als Neustartzeit:

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

Dann werden Ihre Benutzer regelmäßig daran erinnert, auszusteigen, wenn die Zeit näher rückt – der Prozess wird geordneter und professioneller.


Auf traditionellen Unices reboot und shutdown -r now sind sehr unterschiedliche Befehle. Bei typischer Verwendung reboot ist nur im Einzelbenutzermodus sicher zu verwenden.

shutdown -r now ist die kanonische Methode zum Herunterfahren über verschiedene * nix's und im Allgemeinen sicherer zu verwenden und ist funktional äquivalent zu init 6 .

init(8)reboot(8)


Linux
  1. Der Unterschied zwischen Halt- und Shutdown-Befehlen?

  2. Der Unterschied zwischen [[ $a ==Z* ]] und [ $a ==Z* ]?

  3. Centos – Der Unterschied zwischen Shutdown 18:00 und Shutdown um 18:00?

  4. Was ist der Unterschied zwischen Git Switch und Checkout?

  5. Was ist der Unterschied zwischen fsck und e2fsck?

Was ist der Unterschied zwischen InnoDB und MyISAM?

Was ist der Unterschied zwischen Linux und Unix?

Was ist der Unterschied zwischen Login- und Non-Login-Shell

Was ist der Unterschied zwischen apt und dem Befehl apt-get?

Was ist ein Hypervisor? Was ist der Unterschied zwischen Typ 1 und 2?

Was ist der Unterschied zwischen Curl und Wget?