Ich möchte nur den Unterschied zwischen in wissen
rebootinit 6shutdown -r now
und welches ist das sicherste und das beste?
Ich möchte nur den Unterschied zwischen in wissen
reboot init 6shutdown -r nowund welches ist das sicherste und das beste?
Antworten:
Es gibt keinen Unterschied in ihnen. Intern machen sie genau dasselbe:
rebootverwendet den shutdownBefehl (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 SIGKILLSignals (das immer noch in den Quellen vorhanden ist und mit der -fOption 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 6Weist den initProzess 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 nowBefehl 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 nowwie unten angegeben
Es gibt eine kleine Erklärung aus den Hilfeseiten, warum das reboot -fnicht 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 systemctlBefehl verwenden sollten, um das Ausschalten / Neustarten durchzuführen. Wie in den Hilfeseiten von rebootund angegeben, shutdownhandelt es sich um "einen Legacy-Befehl, der nur aus Kompatibilitätsgründen verfügbar ist". und die systemctlMethode 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 nowdie 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 rebootund shutdown -r nowsind ganz andere Befehle. Bei normaler Verwendung rebootist die Verwendung nur im Einzelbenutzermodus sicher.
shutdown -r nowist 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 rebootund shutdown -r now. Von der rebootManpage:
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.