Ich möchte nur den Unterschied zwischen in wissen
reboot
init 6
shutdown -r now
und welches ist das sicherste und das beste?
Ich möchte nur den Unterschied zwischen in wissen
reboot
init 6
shutdown -r now
und welches ist das sicherste und das beste?
Antworten:
Es gibt keinen Unterschied in ihnen. Intern machen sie genau dasselbe:
reboot
verwendet den shutdown
Befehl (mit der Option -r). Der Befehl shutdown bricht alle laufenden Prozesse ab, hebt die Bereitstellung aller Dateisysteme auf und fordert den Kernel schließlich auf, den Befehl ACPI power abzusetzen. Die Quelle finden Sie hier . In älteren Distributionen erzwang der Neustartbefehl das Beenden der Prozesse durch Ausgabe des SIGKILL
Signals (das immer noch in den Quellen vorhanden ist und mit der -f
Option aufgerufen werden kann ). In den neuesten Distributionen war dies standardmäßig die elegantere und einleitungsfreundlichere Version init 1 -> shutdown -r
. Dies stellt sicher, dass Daemons sich vor dem Herunterfahren selbst bereinigen.
init 6
Weist den init
Prozess an, alle gespawnten Prozesse / Daemons wie in den Init-Dateien beschrieben herunterzufahren (in der umgekehrten Reihenfolge, in der sie gestartet wurden) und zuletzt den shutdown -r now
Befehl zum Neustart des Computers aufzurufen
Heutzutage gibt es keinen großen Unterschied, da beide Befehle genau dasselbe tun, und sie respektieren die Init-Skripte, die zum Starten von Diensten / Daemons verwendet werden, indem sie die Shutdown-Skripte für sie aufrufen. Ausgenommen reboot -f -r now
wie unten angegeben
Es gibt eine kleine Erklärung aus den Hilfeseiten, warum das reboot -f
nicht sicher ist:
-f, --force Sofortiges Anhalten, Ausschalten und Neustarten erzwingen. Wenden Sie sich nicht an das Init-System.
Bearbeiten:
Ich habe vergessen zu erwähnen, dass Sie in zukünftigen RHEL-Distributionen den neuen systemctl
Befehl verwenden sollten, um das Ausschalten / Neustarten durchzuführen. Wie in den Hilfeseiten von reboot
und angegeben, shutdown
handelt es sich um "einen Legacy-Befehl, der nur aus Kompatibilitätsgründen verfügbar ist". und die systemctl
Methode wird die einzige sichere sein.
init 1 -> shutdown -r
?
Das Herunterfahren ist vorzuziehen, da Sie hier den Grund für die drastische Aktion angeben können - etwas, das Sie immer tun sollten. Die Nachricht wird in den Protokollen für die Nachwelt aufgezeichnet. Zum Beispiel:
shutdown -r now 'Kernel upgrade requires reboot'
Sie können auch einen geplanten Neustart durchführen, indem Sie etwas anderes als now
die Neustartzeit angeben:
shutdown -r 22:00 'Work around kernel memory leak'
Dann werden Ihre Benutzer regelmäßig daran erinnert, mit der Zeit auszusteigen - der Prozess wird ordentlicher und professioneller.
Auf traditionellen Unices reboot
und shutdown -r now
sind ganz andere Befehle. Bei normaler Verwendung reboot
ist die Verwendung nur im Einzelbenutzermodus sicher.
shutdown -r now
ist die kanonische Methode zum Herunterfahren über verschiedene * nixe hinweg und sicherer im Allgemeinen und ist funktional äquivalent zu init 6
.
Unter FreeBSD gibt es einen Unterschied zwischen reboot
und shutdown -r now
. Von der reboot
Manpage:
Normalerweise wird das Dienstprogramm shutdown (8) verwendet, wenn das System angehalten oder neu gestartet werden muss, um Benutzer vor dem bevorstehenden Schicksal zu warnen und bestimmte Programme sauber zu beenden.