Ich musste mich kürzlich mit einem lästigen, zeitweise auftretenden Problem mit NFS-Client / Server-Mount-Mount-Punkten befassen. Wenn das Problem auf dem Client auftritt, kann ich die Bereitstellung nicht aufheben, zusammen mit einem anderen merkwürdigen Verhalten. Die einzige sofortige Lösung, die ich bisher habe, ist ein Neustart der Client-Box.
Funktioniert aber shutdown -r now
überhaupt nicht. Ich habe seitdem entdeckt reboot -f
, was tut das System neu starten. Warum? Ich habe die Manpages gelesen, aber nichts scheint meine Frage zu beantworten.
Warum shutdown -r now
verhält sich anders als reboot -f
?
(Ich löse das NFS-Problem weiterhin, aber das ist hier nicht meine Frage.)
shutdown
weist Sieinit
an, mit dem Herunterfahren zu beginnen. Dazu müssen angemeldete Benutzer wissen, dass das System heruntergefahren wird, alle Prozesse ordnungsgemäß abgebrochen werden, Laufwerke abgemeldet und synchronisiert werden usw. Sie werden hier aufgehängt, weil Prozesse, die auf E / A warten, in der Regel sehr schwer zu beenden sind und Ihr feststeckender NFS-Mount nicht ausgehängt werden kann.reboot -f
Auf der anderen Seite wird der Server sofort neu gestartet, ohne dies zu tun. ( Istreboot
das Programminit
, um den Server herunterzufahren. Ohne das-f
Flag wird geprüft, ob esinit
denkt, dass es gerade neu gestartet wird, und wenn nicht, wird esshutdown
stattdessen aufgerufen , um den Prozess zu starten.)quelle
Da 'reboot -f' nicht in Runlevel 0 geht, weist es das Betriebssystem an, die CPU direkt neu zu initialisieren. Die Manpage auf meiner nächsten Linux-Box sagt:
Die Manpage zum Herunterfahren erklärt mehr.
quelle
Wenn Sie die
intr
Option auf Ihren NFS-Bereitstellungen verwenden,shutdown -r now
sollten Sie in der Lage sein, Prozesse zu beenden, die auf den Abschluss von NFS IO warten. Dies kann zu einer Beschädigung der Datei führen, aber wahrscheinlich nicht mehr alsshutdown -f
erstellt.quelle