SysRQ

Aus wiki.archlinux.de

Magic SysRQ Key

Jeder wird schonmal erlebt haben, obwohl Linux sehr stabil läuft, dass sich das System vollkommen aufgehängt hat. Was macht man in einem solchen Fall?

  • Manche drücken die Reset-Taste und riskieren dabei ihren ganzen Datenbestand

FINGER WEG

Es gibt eine Lösung, die es erlaubt, das System sauber herunterzufahren – auch wenn das System noch so schief in der Kurve hängt. Im Kernel gibt es eine Option, die sich SysRQ nennt. Mit dieser Option stehen die unten aufgeführten Tastenkombinationen zur Verfügung. Zunächst muss SysRQ aktiviert werden. Dazu ist folgender Befehl als root auszuführen:

echo "1" > /proc/sys/kernel/sysrq

Um SysRQ dauerhaft zu aktivieren, muss die Datei /etc/sysctl.conf (ebenfalls als root) editiert werden:

# Disable the magic-sysrq key
# kernel.sysrq = 0
# Enable the magic-sysrq key
kernel.sysrq = 1

SysRQ ist auf einer normalen Tastatur die Druck/S-Abf Taste.

Tastenkombinationen Bedeutung
Alt+SysRQ+r nimmt X die Kontrolle über Maus und Tastatur (z. B. wenn X abgestürzt ist)
Alt+SysRQ+o System über APM niedergemacht
Alt+SysRQ+s schreibt die Daten aus dem Disk-Cache auf die Festplatte, es wird ein Sync durchgeführt
Alt+SysRQ+u umountet alle gemounteten Dateisysteme readonly
Alt+SysRQ+b reboot
Alt+SysRQ+m gibt Infos über den Speicher in der Konsole aus
Alt+SysRQ+k killt Prozesse auf dem Terminal
Alt-SysRQ+e sendet ein SIGTERM an alle Prozesse, außer Init
Alt+SysRQ+i sendet SIGKILL an alle Prozesse, außer Init
Alt+SysRQ+l sendet SIGKILL an alle Prozesse, inklusive Init

Um ein System also "sauber" herunterzubringen, kann man also wie folgt vorgehen:

  • Alt+SysRQ+r (Setzt die Tastatur in raw-mode)
  • Alt+SysRQ+s (Daten aus dem Disk-Cache werden geschrieben (sync))
  • Alt+SysRQ+e (Prozesse werden sauber beendet (SIGTERM))
  • Alt+SysRQ+i (Für die widerspenstigen Prozesse, die sich nicht beenden lassen wollen (SIGKILL))
  • Alt+SysRQ+u (Hängt alle gemounteten Dateisysteme aus (umount))
  • Alt+SysRQ+b (Veranlasst einen Neustart (reboot))

Nach dem Auslösen von e sollte man den Prozessen ein paar Sekunden Zeit lassen, der Aufforderung, sich sauber zu beenden, nachzukommen.

Zu dieser Sequenz wird auch gerne die folgende englische Eselsbrücke empfohlen:

"raising skinny elephants is utterly boring" (in etwa: "Die Aufzucht magerer Elefanten ist absolut langweilig.")

Ein solches Vorgehen wird daher oft mit der Bezeichnung "raising the elephant" umschrieben.