Nicht reagierendes System neu starten
Sogar wenn kein Dateisystem unter / verfügbar ist
Ab und an kann es passieren, dass ein System sich nicht mehr beenden lässt. Sei es, weil der Kernel versucht Hintergrundaufgaben abzuschließen oder kein Dateisystem mehr vorhanden ist (z.B. durch ein (meist versehentliches) erzwungenes unmounten von /
) und somit die Executables für systemctl
, reboot
etc. einfach fehlen.
Sitzt man direkt am Rechner hilft natürlich der Ein-/Ausschalter aber oft ist die Sache ja nicht so einfach.
Mit vorhandenem Dateisystem
Wenn noch ein Dateisystem eingebunden ist, kann der Befehl reboot
verwendet werden, mit einem der drei folgenden Möglichkeiten:
reboot -f
: Killt alle Prozesse, unmounted Dateisysteme (oder hängt sie nur lesbar ein), startet dann neureboot -ff
: Startet das System sofort neu, ohne Prozesse vorher zu beenden oder Dateisysteme zu unmountenreboot -n
: Führt keine Syncronisation der eingebundenen Dateisysteme durch.
Die ersten beiden Befehle können auch durch systemctl --force
bzw. systemctl --force --force
ersetzt werden, wenn der Befehl reboot
nicht verfügbar ist.
Ohne vorhandes Dateisystem
Ohne Dateisystem gibt es die Möglichkeit, einen SystemRequest abzusetzen, der das System direkt und ohne Ausführung irgendwelcher Anwendungen neu startet.
echo "128 " >/proc/sys/kernel/sysrq #Den folgenden Request erlauben
echo b > /proc/sysrq-trigger #Reboot
Obligatorische Warnung
Das die hier aufgeführten Befehle zu Datenverlust führen können erwähne ich hier nur der Vollständigkeithalber, da es eigentlich klar sein sollte