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 uns erlaubt unser 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, und mit dieser Option haben wir einige Tastenkombinationen zur Verfügung (siehe unten). Aber erst schalten wir unser SysRQ mal ein. Dazu führen wir als root folgenden Befehl aus:

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

Zusätzlich editieren wir, um SysRQ dauerhaft zu aktivieren, die Datei /etc/sysctl.conf (ebenfalls als root):

# 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 dem X die Kontrolle von Maus und Tastatur (z.B. wenn X abgestürzt ist)
Alt+SysRQ+o System über APM nieder gemacht
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 zu allen Prozessen, außer Init
Alt+SysRQ+l sendet SIGKILL zu allen Prozessen, inclusive 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 (umountet alle gemounteten Dateisysteme)
  • Alt+SysRQ+b (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 ziemlich langweilig.")

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