LinuxUser Programmieren (Vorschau)
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
NETZ&SYSTEM<br />
SysRq<br />
A Die Tastenkombinationen<br />
funktionieren,<br />
wenn wie hier unter<br />
Ubuntu die Datei sysrq<br />
existiert und diese eine<br />
Zahl größer oder<br />
gleich 1 enthält.<br />
Taste<br />
[B]<br />
[E]<br />
[I]<br />
[K]<br />
[O]<br />
[R]<br />
[S]<br />
[U]<br />
Auswirkung<br />
Benutzer root auch mit dem folgenden<br />
Befehl simulieren:<br />
# echo k > /proc/sysrq-trigger<br />
HINTERTÜR<br />
Hängt der eingefrorene Rechner in einem Netzwerk, melden Sie<br />
sich auf ihm mittels SSH an und beenden dort dann via Kommandozeile<br />
die verursachenden Programme mit dem SysRq-Kill-Kommando.<br />
Das funktioniert allerdings nur, wenn die abgestürzten<br />
Programme nicht die komplette Rechenzeit auffressen. Darüber<br />
hinaus muss der SSH-Daemon installiert sein, laufen und sich<br />
von außen erreichen lassen. Letzteres verhindert beispielsweise<br />
unter OpenSuse die eingebaute Firewall. Aus den gleichen Gründen<br />
versagen auch die übrigen Alternativen zu SSH, wie etwa<br />
Rlogin, das obendrein noch Sicherheitsprobleme aufweist.<br />
WICHTIGE SYSRQ-FUNKTIONEN<br />
startet den Rechner sofort neu<br />
sendet SIGTERM an alle Prozesse außer init<br />
sendet SIGKILL an alle Prozesse außer init<br />
beendet alle Programme auf der aktuellen virtuellen<br />
Konsole<br />
fährt das System herunter (sofern vom Computer<br />
unterstützt)<br />
reanimiert die Tastatur, indem es den RAW-Modus<br />
abschaltet und in den XLATE-Modus wechselt<br />
leert den Festplattencache<br />
hängt alle Dateisysteme aus und mountet sie anschließend<br />
read-only<br />
Das k steht dabei für die dritte zu<br />
drückende Taste, in diesem Beispiel<br />
das „k“ für die vermutlich<br />
wichtigste und am häufigsten benötigte<br />
Tastenkombination.<br />
[S-Ab f]+[K] beendet alle Prozesse<br />
in der aktuellen virtuellen Konsole.<br />
Unter modernen Distributionen<br />
zählt dazu üblicherweise auch<br />
die grafische Benutzeroberfläche,<br />
die daraufhin automatisch neu<br />
startet oder zumindest dem Textmodus<br />
weicht.<br />
[S-Abf]+[K] erweist<br />
sich aber<br />
auch dann als<br />
nützlich, wenn<br />
Sie auf der<br />
Konsole arbeiten:<br />
Durch das<br />
Beenden aller<br />
Prozesse wird<br />
sichergestellt,<br />
dass der Anmeldebildschirm<br />
nicht<br />
von einem Trojaner stammt – vorausgesetzt,<br />
bei init handelt es sich<br />
noch um das Original.<br />
Einparkende Elefanten<br />
Rührt sich das System nicht mehr,<br />
dann drücken Sie [S-Abf]+[R]. Damit<br />
entzieht der Kernel dem X-<br />
Server die Gewalt über die Tastatur,<br />
indem er den vom X-Server<br />
genutzten Raw-Modus abschaltet<br />
und in den auf der Konsole genutzten<br />
XLATE-Modus wechselt.<br />
So erhalten Sie wieder die Gewalt<br />
über die Tastatur und können mit<br />
[Strg]+[Alt] und einer der Funktionstasten<br />
auf eine der Konsolen<br />
wechseln. Dort melden Sie sich an<br />
und terminieren per kill-Befehl<br />
die hängende Anwendung.<br />
Klappt das nicht, so drücken Sie<br />
[S-Abf]+[E]. Der Kernel fordert<br />
jetzt alle laufenden Programme<br />
auf, sich zu beenden. Dazu sendet<br />
er allen Prozessen außer init ein<br />
SIGTERM-Signal. Widerspenstigen<br />
Prozessen zeigen Sie per [S-Abf]+<br />
[I] die Rote Karte in Form des SIG-<br />
KILL-Signals, sodass der Kernel sie<br />
gnadenlos abschießt.<br />
Linux puffert die Festplattenzugriffe<br />
zunächst im Hauptspeicher.<br />
Bevor Sie das System neu starten,<br />
sollten Sie die zwischengeparkten<br />
Daten per [S-Abf]+[S] auf die<br />
Festplatte schreiben lassen. Als<br />
Quittung für den Abschluss der<br />
Aktion erscheint eine Meldung<br />
wie Emergency Sync complete auf<br />
dem Bildschirm. Blockiert ein abgestürztes<br />
Programm den Monitor<br />
und bleibt damit die Meldung versteckt,<br />
überwachen Sie stattdessen<br />
die Festplattenaktivitäten anhand<br />
der Status-LED am Rechnergehäuse.<br />
Fahren Sie erst dann mit<br />
den nächsten Tastenkombinationen<br />
fort, wenn ein paar Sekunden<br />
keine Aktivitäten mehr zu sehen<br />
und zu hören waren.<br />
Nachdem die Daten auf der Platte<br />
liegen, hängt [S-Abf]+[U] alle<br />
Dateisysteme sicher aus. [S-Abf]+<br />
[B] startet das System schließlich<br />
neu. Alternativ schalten Sie den<br />
Rechner per [S-Abf]+[O] aus. Der<br />
Kernel nutzt dazu die entsprechende<br />
Funktion des Power-Managements,<br />
das dazu folglich aktiviert<br />
sein muss.<br />
Zusammengefasst kommen hier<br />
also nacheinander die Tasten [R],<br />
[E], [I], [S], [U] und [B] zum Einsatz.<br />
Diese Reihenfolge kann man<br />
sich mit verschiedenen Eselsbrücken<br />
merken. Besonders beliebt<br />
ist der englische Satz „Raising Elephants<br />
Is So Utterly Boring“. Eine<br />
im Internet kursierende deutsche<br />
Variante lautet „Richtig Einparken<br />
Ist So Unglaublich Banal“.<br />
Alle wichtigen Tastenkombinationen<br />
fasst noch einmal die Tabelle<br />
Wichtige SysRq-Funktionen zusammen.<br />
Neben den dort aufgelisteten<br />
gibt es noch weitere Kombinationen,<br />
die sich allerdings<br />
durchweg an Programmierer richten.<br />
So zeigt etwa [S-Abf]+[P] den<br />
Inhalt aller Prozessorregister an,<br />
während [S-Abf]+[M] die Hauptspeicherbelegung<br />
ausgibt [1].<br />
Aus der Zauber<br />
Die vorgestellten „Affengriffe“<br />
wertet allesamt der Linux-Kernel<br />
aus. Damit das klappt, muss er<br />
selbst noch laufen – bei einer Kernel-Panik<br />
hilft folglich nur noch<br />
ein Griff zum Reset-Knopf. Des<br />
Weiteren muss der Kernel die<br />
Tastenkombinationen unterstützen.<br />
Das ist genau dann der Fall,<br />
wenn im Verzeichnis /proc/sys/<br />
kernel eine Datei namens sysrq<br />
INFO<br />
[1] Kernel-Dokumentation zu allen Magic System<br />
Request Keys: http:// www. kernel. org/<br />
doc/ Documentation/ sysrq. txt<br />
70 11 | 12<br />
www.linux-user.de