ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

Magic SysRQ

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Obwohl Linux sehr stabil ist, können Kernel Panics in Ausnahmefällen auftreten. Manchmal stoppt auch der X-Server und man kann nichts mehr tun, nicht mal mehr in eine andere Konsole wechseln.

In einem solchem Moment kann man natürlich den Reset-Taster drücken oder den Computer "hart" ausschalten, mit dem hohen Risiko von Datenverlust. Notwendig ist dies aber nicht, da es eine Möglichkeit gibt, das System sauber herunterzufahren, oder nur um die Ursache des Problems zu finden.

Dazu gibt es eine Funktion des Kernels, die sich "SysReqest key" nennt, auch als Magische S-Abf-Taste bekannt.

Die SysRQ-Taste findet man auf der normalen Tastatur als Zweitbelegung auf der Taste Druck . Je nach Tastatur muss man zum Erreichen von "S-Abf" zusätzlich Alt oder bei Notebooks teilweise auch Fn drücken. Für den Magic-SysRQ muss man aber immer Alt + Druck drücken, egal wie die "tatsächliche" Belegung ist!

Der gewünschte Befehl wird erteilt, indem man auf der Tastatur dann noch zusätzlich den entsprechenden Buchstaben drückt. Die für den entsprechenden Befehl notwendige Taste kann der folgenden Tabelle entnommen werden.

Hinweis:

Unter Ubuntu 8.10 Intrepid Ibex funktioniert der Magic-Sysrq in Kombination mit einer grafischen Benutzeroberfläche nicht, da scheinbar der X-Server (Version 7.4) bestimmte Tastatureingaben abfängt. Wenn man den Magic-SysRQ dennoch nutzen möchte, muss man der xorg.conf InputDevice-Abschnitte hinzufügen. In einer reinen Textkonsole hingegen klappt der SysRQ ohne Probleme.

Anwenden

Die meisten Tastenkombinationen werden oft in einer bestimmten Reihenfolge ausgeführt, um eine bestimmte Aktion auszuführen. Für solche Sequenzen haben sich mittlerweile verschiedene Merksätze gebildet. Die häufigste Sequenz wird vermutlich ein Notfall-Neustart sein, bei gedrücktem Alt + Druck , müssen hierzu nacheinander die Tasten R + E + I + S + U + B gedrückt werden. Die dazu benötigte Reihenfolge kann man sich mit folgendem Satz merken

Raising Elephants Is So Utterly Boring

Jeweils der erste Buchstabe eines Wortes steht für die Taste mit der entsprechenden SysRQ Kombination:

Sicheres Reboot
Taste Funktion Bedeutung
R unraw Nehme der grafischen Oberfläche den Zugriff auf die Tastatur
E term Sende ein SIGTERM an alle Prozesse außer Init
I kill Sende ein SIGKILL an alle Prozesse außer Init
S sync Schreibe alle noch nicht auf die Festplatte geschriebenen Daten aus dem Kernel-Festplatten-Cache auf die Festplatten
U umount Alle scheinbar eingehängten Partitionen werden ausgehängt, und danach nur-lesbar eingehängt
B reboot Fahre den Rechner sofort herunter, ohne Daten aus dem Kernel-Festplatten-Cache auf die Festplatten zu schreiben und ohne Partitionen auszuhängen, und starte den Rechner neu.

Außerdem gibt es noch einige weitere Funktionen:

Sonstige Funktionen
Taste Funktion Bedeutung
O Power off Fahre den Rechner mit APM herunter und schalte ihn aus (wenn vom Rechner unterstützt).
M Memory Gibt die Hauptspeicherbelegung in der Konsole aus
Q Zeige alle derzeitig laufenden Timer an
P Zeige den Inhalt der CPU-Register inklusive der FLAGS an
T Zeige eine Liste aktuell laufender Prozesse an

Experten-Info:

Wer diese Funktionen gezielt testen möchte startet am besten eine sogenannte Forkbomb auf dem Rechner, um diesen gezielt zu überlasten.

Aktivieren und Deaktivieren von Magic SysRQ

Unter Ubuntu ist der Magic SysRQ standardmäßig aktiviert. Dies kann man über den Befehl [1]

cat /proc/sys/kernel/sysrq 

überprüfen. Ist die Ausgabe 1, ist der SysRQ aktiv, bei 0 nicht.

Auf diesem Weg lässt sich die Funktion auch deaktivieren:

echo 0 | sudo tee /proc/sys/kernel/sysrq 

beziehungsweise aktivieren:

echo 1 | sudo tee /proc/sys/kernel/sysrq 

Bedienung aus der Kommandozeile

Wenn die Druck -Taste nicht zur Verfügung steht, das Terminal aber schon, können die SysRQ-Kommandos auch über eine Kommandozeile ausgeführt werden. Mit Hilfe der Standard-Datenströme wird der Code der gewünschten Taste in den SysRQ-Trigger von procfs geschrieben.

Ein Beispiel:

echo b | sudo tee /proc/sysrq-trigger 

Dieser Befehl ist äquivalent zur Kombination Alt + Druck + B .

Diese Revision wurde am 1. Januar 2009 15:43 von JrgnDttr erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: System