Shutdown (Begriff)

Aus Foxwiki

Shutdown untersuchen

Herausfinden, der Ursache für ein verzögertes Herunterfahren

Ich hoffe, Sie sind ein wenig mit dem Konzept von sigterm und sigkill vertraut.

  • Wenn Sie Ihr Linux-System herunterfahren, sendet es den sigterm und bittet die laufenden Prozesse höflich, anzuhalten.
  • Einige Prozesse benehmen sich falsch und ignorieren den Sigterm und laufen weiter.

Dies kann zu einer Verzögerung des Herunterfahrens führen, da Ihr System eine bestimmte Zeit lang auf das Anhalten der laufenden Prozesse wartet.

  • Nach Ablauf dieser Zeitspanne sendet es das Kill-Signal, um alle noch laufenden Prozesse zu stoppen und das System herunterzufahren. Ich empfehle die Lektüre von sigterm vs. sigkill, um den Unterschied zu verstehen.
  • In manchen Fällen sehen Sie auf dem schwarzen Bildschirm eine Meldung wie "a stop job is running".
Wenn das System zu lange zum Herunterfahren braucht
  • Prüfen, welcher Prozess/Dienst zu lange braucht und ob Sie ihn entfernen oder neu konfigurieren können, damit er sich richtig verhält.
  • Ändern der Standardwartezeit, bevor Ihr System die laufenden Prozesse zwangsweise beendet. [Schnelle und schmutzige Lösung]

Die Befehle und Schritte sollten jede Linux-Distribution gültig, die systemd verwendet

Prozesse, die das Herunterfahren verzögern

Wenn Sie herausfinden wollen, was los ist, sollten Sie überprüfen, was beim letzten Herunterfahren passiert ist. Verwenden Sie diesen Befehl, um die Macht des "Ich weiß, was Sie in der letzten Sitzung getan haben" zu erhalten (Wortspiel beabsichtigt):

# journalctl -rb -1

Mit dem Befehl journalctl können Sie die Systemprotokolle lesen. Mit der Option '-b -1' filtern Sie die Protokolle für die letzte Boot-Session. Mit der Option '-r' werden die Protokolle in umgekehrter chronologischer Reihenfolge angezeigt.

Der Befehl 'journalctl -rb -1' zeigt die Systemprotokolle kurz vor dem letzten Herunterfahren Ihres Linux-Systems an. Das ist genau das, was Sie brauchen, um das Problem des langen Herunterfahrens in Linux zu analysieren.

Finden Sie etwas Verdächtiges in den Protokollen? Gibt es einen Prozess/Dienst, der sich weigert, anzuhalten? Wenn ja, untersuchen Sie, ob Sie ihn ohne Nebenwirkungen entfernen oder neu konfigurieren können. Bitte entfernen Sie hier nicht einfach blindlings Dinge. Sie sollten Kenntnisse über den Prozess haben.

Beschleunigung des Shutdowns

Beschleunigen Sie das Herunterfahren unter Linux, indem Sie den Standard-Timeout für das Herunterfahren reduzieren [Quick fix]

Die Standardwartezeit für das Herunterfahren ist normalerweise auf 90 Sekunden eingestellt. Ihr System versucht, die Dienste nach dieser Zeitspanne zwangsweise zu beenden.

Wenn Sie möchten, dass Ihr Linux-System schnell herunterfährt, können Sie diese Wartezeit ändern.

Sie finden alle systemd-Einstellungen in der Konfigurationsdatei unter /etc/systemd/system.conf. Diese Datei sollte mit vielen Zeilen gefüllt sein, die mit # beginnen. Sie stellen die Standardwerte der Einträge in der Datei dar.

Bevor Sie irgendetwas tun, ist es eine gute Idee, eine Kopie der Originaldatei zu erstellen.

# cp /etc/systemd/system.conf /etc/systemd/system.conf.orig

Suchen Sie hier nach DefaultTimeoutStopSec. Er sollte wahrscheinlich auf 90 Sekunden gesetzt werden.

#DefaultTimeoutStopSec=90s

Sie müssen diesen Wert auf einen bequemeren Wert wie 5 oder 10 Sekunden ändern.

StandardTimeoutStopSec=5s

Wenn Sie nicht wissen, wie Sie die Konfigurationsdatei im Terminal bearbeiten können, verwenden Sie diesen Befehl, um die Datei zur Bearbeitung im Standardtexteditor Ihres Systems (wie Gedit) zu öffnen:

# xdg-open /etc/systemd/system.conf
Hinweis
Vergessen Sie nicht, das # vor DefaultTimeoutStopSec zu entfernen.

Speichern Sie die Datei und starten Sie Ihr System neu.

  1. https://itsfoss.com/long-shutdown-linux/