Magic SysRequest key: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
Zeile 238: Zeile 238:


[[Kategorie:Linux]]
[[Kategorie:Linux]]
= TMP =
[[Datei:KeyboardWithPrintScreenRinged.svg|mini|Die Funktion „[[Systemabfrage-Taste|S-Abf]]“ ([[Englische Sprache|engl.]] „SysRq“) ist auf IBM-AT-kompatiblen Tastaturen eine Alternativbelegung der „Druck“-Taste (englisch „Print Screen“)]]
'''Magic SysRq Key''' (kurz für „'''Magische S-Abf-Taste'''“, engl. ''Magic SysRequest key'') bezeichnet eine Reihe von [[Tastenkombination]]en mit der {{Taste|[[Systemabfrage-Taste|S-Abf]]}}-Taste für den [[Linux (Kernel)|Linux-Kernel]]. Damit lassen sich verschiedene Funktionen – beispielsweise ein Neustart des Computers – ausführen, wobei die einzelnen Funktionen auch nacheinander in sinnvoller Reihenfolge ausführbar sind. Das funktioniert auch noch, wenn der Computer auf andere Eingaben nicht mehr reagiert, sofern der Kernel noch nicht abgestürzt ist. Häufig nutzt man diesen „[[Klammergriff]]“ für einen Neustart, ohne Schäden am [[Dateisystem]] zu verursachen, oder um einen nicht mehr reagierenden [[X-Server]] zu beenden.
== Häufig verwendete Kombinationen ==
Ein gerne verwendeter und in IT-Kreisen bekannter Weg, den Computer bei hängendem System neu zu starten, ist es, auf einem Linux-System die Tastenkombination {{Taste|Alt|halten}}&nbsp;+&nbsp;{{Taste|S-Abf|halten}} gedrückt zu halten und dabei nacheinander die Tasten {{Taste|R}}, {{Taste|E}}, {{Taste|I}}, {{Taste|S}}, {{Taste|U}} und {{Taste|B}} zu drücken. So werden die Dateisystemcaches sicher geleert (d.&nbsp;h. ihr Inhalt wird auf die Platte geschrieben), alle Dateisysteme sicher ausgehängt und damit eine Beschädigung des Dateisystems unterbunden. Eine weitere bekannte Tastenreihenfolge, RSEIUB, zieht den Sync vor.<ref>[http://ubuntuforums.org/showthread.php?t=617349 Ubuntuforums.org], Guide zum Magic SysrRq Key (englisch)</ref> Ein Argument dagegen ist, dass die terminierten Prozesse eventuell noch Daten in den Cache schreiben und der Sync somit zu früh kommt. Ein Argument dafür ist, dass der unmount-Befehl ohnehin die Platten synchronisieren sollte.<ref>[http://www.linuxhowtos.org/Tips%20and%20Tricks/sysrq.htm Linuxhowtos.org](englisch) oder [http://www.pro-linux.de/kurztipps/2/1235/der-magic-sysrq-key.html pro-linux.de], Aussage zu: "unmount enthält sync"</ref> Es existiert kein Konsens darüber, welche Kombination zu bevorzugen ist.
== Verfügbare Kombinationen ==
Der gewünschte Befehl wird erteilt, indem man ''gleichzeitig'' auf der Tastatur {{Taste|S-Abf|halten}}&nbsp;+&nbsp;{{Taste|Alt|halten}} drückt. {{Taste|S-Abf}} ist auf IBM-AT-kompatiblen Tastaturen eine Alternativbelegung der Taste {{Taste|Druck}}.
Auf Tastaturen für Deutschland drückt man ''gleichzeitig'' die Tasten {{Taste|[[Alt (Taste)|Alt]]|halten}}&nbsp;+&nbsp;{{Taste|Druck|halten}}&nbsp;+&nbsp;{{Taste|''[[Alphanumerische Zeichen|Taste aus Tabelle unten]]''}}.
Auf Tastaturen für die Schweiz und englischsprachige Länder entspricht die Taste {{Taste|SysRq}} dem deutschen Pendant {{Taste|S-Abf}}. Die Beschriftung ist zum Beispiel in der Schweiz {{Taste|PrtScr SysRq}}. Die Kombination auf schweizerischer Tastatur ist: {{Taste|Alt Gr|halten}}&nbsp;+&nbsp;{{Taste|PrtScr SysRq|halten}}.
Besonders auf [[Laptop]]s müssen wegen herstellerspezifischen Tastaturlayouts ggf. noch Zusatztasten gedrückt werden, so etwa auf [[Dell]]-Laptops zunächst {{Taste|Num}}, anschließend {{Taste|Fn|halten}}&nbsp;+&nbsp;{{Taste|Alt|halten}}&nbsp;+&nbsp;{{Taste|Druck|halten}}&nbsp;+&nbsp;{{Taste|''entsprechender Buchstabe''}}; auf z.&nbsp;B. [[ThinkPad]]s kann folgende Abfolge verwendet werden: {{Taste|Alt|halten}} drücken und halten, {{Taste|Fn|halten}}&nbsp;+&nbsp;{{Taste|Druck}} drücken und wieder loslassen, {{Taste|''entsprechenden Buchstaben''}} drücken, alle loslassen.
Die für den entsprechenden Befehl notwendige Taste kann in der folgenden Tabelle abgelesen werden, Groß- und Kleinschreibung spielt keine Rolle. Die Angaben beziehen sich auf die in Deutschland übliche QWERTZ-Tastatur.
{| class="wikitable"
|+ Alphanumerische Tasten und ihre Funktion<ref>''c’t kompakt Linux.'' Heise, Hannover 2009.</ref><ref>Ein Großteil dieses Artikels besteht aus Informationen, die der offiziellen Dokumentation für den Magic SysRq Key entnommen sind, welche sich auf Linux-Systemen üblicherweise in der Datei ''/usr/src/linux/Documentation/sysrq.txt'' befindet (zuletzt überarbeitet nach der Dokumentation zur Version 3.4). Als zuverlässige Gebrauchsanweisung sollte ebendiese Dokumentation für die entsprechende Kernel-Version des Systems herangezogen werden.</ref>
|--- class="hintergrundfarbe6"
!Taste
!Funktion (englisch)
!Bedeutung
|---
| class="hintergrundfarbe8"| {{Taste|0}}…{{Taste|9}}
! set log level
| Zahlen von 0 bis 9 bestimmen den ''Log Level'', das heißt die Grenze, ab welcher Wichtigkeit eine Nachricht des Kernels angezeigt wird. Bei {{Taste|0}} werden nur noch kritische Meldungen wie etwa [[Kernel panic]] angezeigt.
|---
| class="hintergrundfarbe8"| {{Taste|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 [[Neustart (Computer)|starte den Rechner neu]].
|---
| class="hintergrundfarbe8"| {{Taste|C}}
! crashdump
| Starte mit Hilfe von [[kexec]]<ref>[http://www.xmission.com/~ebiederm/files/kexec/README Readme-Datei von kexec]</ref> neu (sofern vorhanden) und gib einen Crashdump auf dem Bildschirm aus. Ansonsten provoziere einen Absturz durch eine Null-Pointer-Dereferenzierung.<ref>{{Webarchiv|url=https://www.kernel.org/doc/Documentation/sysrq.txt |wayback=20160802173357 |text=Kernel.org |archiv-bot=2019-04-29 02:23:18 InternetArchiveBot }} oder [http://www.mjmwired.net/kernel/Documentation/sysrq.txt mjmwired.net], SysRq Dokumentation</ref>
|---
| class="hintergrundfarbe8"| {{Taste|D}}
!
| Zeige (im Textmodus) alle derzeitigen [[Lock]]s an.
|---
| class="hintergrundfarbe8"| {{Taste|E}}
! term
| Sende [[SIGTERM]] an alle Prozesse außer [[Init]]
|---
| class="hintergrundfarbe8"| {{Taste|F}}
! force a OOM kill
| Startet den OOM-Killer, der den speicherlastigsten Prozess tötet. Damit kann man meistens am System weiterarbeiten, wenn ein Prozess anfängt stark auszulagern und das System dadurch sehr träge reagiert.
|---
| class="hintergrundfarbe8"| {{Taste|G}}
! [[kGDB]]
| Schaltet bei neueren Kernelversionen auf die ''[[Framebuffer#Linux-Framebuffer|Framebuffer]]''-Textkonsole um und startet den Kernel-Debugger ''kgdb'', falls vorhanden.
|---
| class="hintergrundfarbe8"| {{Taste|H}}
! help
| Gib einen Hilfetext für die Benutzung des ''Magic-SysRq-Key'' aus. Auch jede andere nicht belegte Taste gibt diesen Text aus.
|---
| class="hintergrundfarbe8"| {{Taste|I}}
! kill
| Sende [[SIGKILL]] an alle Prozesse außer Init
|---
| class="hintergrundfarbe8"| {{Taste|J}}
! "Just thaw it"
| Beendet bei neueren Kernelversionen das „Einfrieren“ eines Dateisystems durch die ''IOCTL''-Funktion ''FIFREEZE''.
|---
| class="hintergrundfarbe8"| {{Taste|K}}
! secure attention key
| Beende alle Prozesse auf dem aktuellen Terminal, um sicher zu sein, dass der [[Login (Informationstechnik)|Login]]-[[Prompt]] von [[Init]] stammt und nicht von einem [[Trojanisches Pferd (Computerprogramm)|Trojaner]]. Eine aufgehängte Anwendung, welche die SVGAlib benutzt, oder ein nicht mehr reagierender X-Server lassen sich auch auf diese Weise beenden. So wird etwa in Ubuntu ab Version 9.04 dies statt der bisher genutzten Kombination {{Taste|Strg|halten}}&nbsp;+&nbsp;{{Taste|Alt|halten}}&nbsp;+&nbsp;{{Taste|[[Backspace]]}} empfohlen.<ref>[http://wiki.ubuntuusers.de/Jaunty_Jackalope#Don-t-Zap „Ubuntu 9.04“ im Ubuntuusers-Wiki] oder [http://www.ubuntu.com/getubuntu/releasenotes/904#Ctrl-Alt-Backspace%20disabled%20by%20default%20in%20Xorg Releasenotes zu Ubuntu 9.04] (englisch)</ref>
|---
| class="hintergrundfarbe8"| {{Taste|L}}
! kill including init
| Sende SIGKILL an alle Prozesse, auch an Init. Das kommt einem Ausschalten gleich. Neuere Kernelversionen zeigen einen ''[[Stacktrace|Backtrace]]'' an.
|---
| class="hintergrundfarbe8"| {{Taste|M}}
! memory
| Gib die Hauptspeicherbelegung in der Konsole aus.
|---
| class="hintergrundfarbe8"| {{Taste|N}}
!
| Hiermit lässt sich die [[Prioritätsscheduling|Priorität]] von [[Echtzeit]]-Prozessen herabsetzen.
|---
| class="hintergrundfarbe8"| {{Taste|O}}
! poweroff
| Schaltet den Rechner mit sofortiger Wirkung über [[Advanced Configuration and Power Interface|ACPI]]/[[Advanced Power Management|APM]] –&nbsp;wenn unterstützt&nbsp;– aus. Wie bei {{Taste|B}} wird mit {{Taste|O}} alleine nichts gespeichert.
|---
| class="hintergrundfarbe8"| {{Taste|P}}
! show registers
| Zeige den Inhalt der [[Register (Computer)|CPU-Register]] inklusive der [[Statusregister|Flags]] an.
|---
| class="hintergrundfarbe8"| {{Taste|Q}}
!
| Zeige alle derzeitig laufenden [[Timer]] an.
|---
| class="hintergrundfarbe8"| {{Taste|R}}
! unraw
|Verlasse den Keyboard-Raw-Modus, der unter [[X Window System|X]] und [[SVGAlib]] aktiv ist, in den Keyboard-XLATE-Modus, der im [[Textmodus]] von Linux verwendet werden kann. Dies kann nützlich sein, wenn eine grafische Anwendung abstürzt und der Benutzer sich in der Konsole wiederfindet, die aufgrund des falschen Tastatur-Modus zunächst jedoch nicht benutzbar ist.
|---
| class="hintergrundfarbe8"| {{Taste|S}}
! sync
| Schreibe alle noch nicht auf die Festplatte geschriebenen Daten aus dem Kernel-Festplatten-Cache auf die Festplatten
|---
| class="hintergrundfarbe8"| {{Taste|T}}
! show tasks
| Zeige eine Liste aktuell laufender Prozesse an.
|---
| class="hintergrundfarbe8"| {{Taste|U}}
! umount
| Alle schreibbar eingebundenen [[Partition (Datenträger)|Partitionen]] werden ausgehängt und anschließend nur-lesend wieder eingehängt.
|---
| class="hintergrundfarbe8"| {{Taste|V}}
! framebuffer, ETM dump
| Schaltet bei neueren Kernelversionen auf die ''[[Framebuffer#Linux-Framebuffer|Framebuffer]]''-Textkonsole um. Auf der [[ARM-Architektur]] wird der ''[[ETM]]-Puffer'' angezeigt.
|---
| class="hintergrundfarbe8"| {{Taste|W}}
!
| Zeige blockierte Prozesse an, die sich, beispielsweise während Festplattenzugriffen, im „ununterbrechbaren Schlaf“ befinden.
|---
| class="hintergrundfarbe8"| {{Taste|X}}
! XMON
| Bei neueren Kernelversionen für die ''XMON''-Schnittstelle der [[IBM Power|Power]]/[[PowerPC]]-Architektur verwendet.
|---
| class="hintergrundfarbe8"| {{Taste|Y}}
! FTRACE dump
| Bei neueren Kernelversionen wird der ''FTRACE''-Puffer angezeigt.
|---
| class="hintergrundfarbe8"| {{Taste|Z}}
! show global CPU registers
| Bei neueren Kernelversionen werden auf der [[SPARC64_V|SPARC-64]]-Architektur die globalen CPU-Register angezeigt.
|}
== Auslösen auf der Kommandozeile ==
Die genannten Befehle können auch über die [[Unix-Shell|Shell]] (und somit auch durch Skripte) ausgelöst werden.
Dazu wird in virtuelle Datei <span style="font-family:monospace;">/proc/sysrq-trigger</span> vom [[Procfs|Kernel-Proc-API]] das entsprechende Zeichen geschrieben.
Dies ist nur als <span style="font-family:monospace;">[[Root-Konto|root]]</span> möglich.
Der folgende Befehl löst beispielsweise einen sofortigen Reboot aus.
<syntaxhighlight lang="bash">
echo b > /proc/sysrq-trigger
</syntaxhighlight>
== Literatur ==
* Oliver Diedrich: ''Geht nicht? Gibts nicht! Hängende Linux-Systeme sicher ausschalten.'' In: ''[[c’t]]'' Nr.&nbsp;26, 2008, S.&nbsp;210
== Weblinks ==
{{Wikibooks|Linux-Praxisbuch/ Problembehandlung beim Neustart|Linux-Praxisbuch: Problembehandlung beim Neustart}}
* [https://www.kernel.org/doc/Documentation/admin-guide/sysrq.rst Documentation/admin-guide/sysrq.rst] auf kernel.org (Linux Kernel Archives) (englisch)
* [http://kernel.org/pub/linux/kernel/people/akpm/patches/2.5/2.5.64/2.5.64-mm7/broken-out/proc-sysrq-trigger.patch Der Patch des Linux-Kernels, der das /proc/sysrq-trigger-Feature einbaute]
* [http://wiki.ubuntuusers.de/Magic_SysRq Magic SysRequest] im Wiki von Ubuntuusers.de
== Einzelnachweise ==
<references />
[[Kategorie:Linux]]
[[Kategorie:Computertaste]]

Version vom 3. April 2022, 09:12 Uhr

topic kurze Beschreibung

Beschreibung

  • Obwohl Linux sehr stabil ist, können in Ausnahmefällen Kernel Panics auftreten.
  • Manchmal stoppt auch nur der XServer, der für die grafische Oberfläche verantwortlich ist.
    • Dann ist unter Umständen nicht mal der Wechsel in eine Konsole zur Reparatur möglich.

In einem solchen Moment kann natürlich der Reset-Taster gedrückt oder der Rechner "hart" ausgeschaltet werden – mit dem immer vorhandenen Risiko von Datenverlusten.

  • Notwendig ist dies aber nicht, da es Möglichkeiten gibt, das System entweder sauber herunterzufahren oder weitere Maßnahmen zu ergreifen, um die Ursache des Problems zu finden.
  • Dazu gibt es eine Funktion des Kernels, die sich "SysRequest key" nennt, auch als Magische S-Abf-Taste bekannt.

Die SysRq-Taste befindet sich auf der deutschen Tastatur als Zweitbelegung von Druck.

  • Je nach Tastatur muss man zum Erreichen von "S-Abf" zuerst Alt gedrückt halten:
Alt + Druck (auf schweizerischen und englischsprachigen Tastaturen jedoch Alt Gr + die Taste "SysRq"). 
  • Bei Notebooks ist teilweise auch die Kombination mit Fn erforderlich.

Hinweis

  • Dell Vostro Laptops: Erst ⇩ num drücken – dann leuchtet das blaue LED auf – und danach Fn + Alt + Druck +"Buchstabe" drücken.
  • einige Logitech-Tastaturen (zum Beispiel K300): Erst Fn (Taste in rot) drücken, dann leuchten oben die LED's in kräftiger, oranger Farbe auf und danach Alt + Druck (die Druck-Taste ist die Pos1 -Taste) +"Buchstabe" drücken.
  • Workarounds, wie ⇩ num zuerst zu aktivieren oder Alt Gr anstelle von Alt zu verwenden, sind offenbar bei vielen Laptops nötig.
  • Ebenso kann es bei Notebooks vorkommen, dass die Tastenkombination auf der integrierten, nicht jedoch auf einer extern angeschlossenen Tastatur funktioniert.
  • Manchmal funktionieren nur Teile der Magic SysRQ-Kette nicht, etwa der letzte (B) für den Reboot.
  • In diesem Fall kann der Rechner durch kurzes Drücken des An-/Ausschalters neu gestartet werden.

Der gewünschte Befehl wird erteilt, indem auf der Tastatur dann noch zusätzlich der entsprechenden Buchstaben gedrückt wird.

Installation

Syntax

Parameter

Optionen

Konfiguration

Dateien

Anwendungen

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; hierfür wird die ganze Zeit Alt + Druck gedrückt gehalten und nacheinander die Tasten R + E + I + S + U + B betätigt.
  • Die dazu benötigte Reihenfolge lässt sich mit folgendem Satz merken:
  • "Reboot Even If System Utterly Broken" oder
  • "Richtig Einparken Ist So Unglaublich Banal"
  • rückwärts: "busier", (vom engl. "busy", das heißt, beschäftigt oder ausgelastet)

Jeweils der erste Buchstabe eines Wortes steht für die folgende SysRQ-Funktion:

Hinweis

  • Seit Ubuntu 12.10 sind die ersten drei SysRQ-Funktionen standardmäßig deaktiviert.
  • Damit steht praktisch nur "SUB" zur Verfügung (194676, 1025467).
  • Möchte man diese aus Sicherheitsgründen getroffene Einschränkung aufheben, setzt man statt 176 den Wert 1 (siehe unten).
Sicheres Reboot
Taste Funktion Bedeutung
R unraw Nimmt der grafischen Oberfläche den Zugriff auf die Tastatur
E term Sendet ein SIGTERM an alle Prozesse außer Init
I kill Sendet ein SIGKILL an alle Prozesse außer Init
S sync Schreibt alle noch nicht auf die Festplatte geschriebenen Daten aus dem Kernel-Festplatten-Cache auf die Festplatten
U umount Alle eingehängten Partitionen werden ausgehängt, und danach nur-lesbar eingehängt
B reboot Fährt den Rechner sofort herunter, ohne Daten aus dem Kernel-Festplatten-Cache auf die Festplatten zu schreiben und ohne Partitionen auszuhängen, und startet den Rechner neu.

Weitere Funktionen

Sonstige Funktionen
Taste Funktion Bedeutung
C Crashdump Startet über kexec(sofern vorhanden) neu und gibt einen Dump auf dem Bildschirm aus.
  • Ohne kexec wird ein Absturz durch eine Null-Pointer-Dereferenzierung veranlasst.
D Zeigt im Textmodus alle gesetzten Locks an
K secure attention key Beendet alle Prozesse auf dem aktuellen Terminal, um sicher zu sein, dass der Login-Prompt von Init stammt und nicht von einem Trojaner.
  • Eine aufgehängte Anwendung, welche die SVGAlib benutzt oder ein nicht mehr reagierender X-Server lassen sich auch auf diese Weise beenden.
L Kill including init Sende SIGKILL an alle Prozesse, auch an Init.
  • Das kommt einem Ausschalten gleich.
M Memory Gibt im Textmodus die Hauptspeicherbelegung in der Konsole aus.
O Power off Fährt den Rechner mit APM/ACPI herunter und schalte ihn aus (wenn vom Rechner unterstützt).
P Zeigt im Textmodus den Inhalt der CPU-Register inklusive der FLAGS an
Q Zeigt im Textmodus alle derzeitig laufenden Timer an
T Zeigt im Textmodus eine Liste aktuell laufender Prozesse an.
W Zeigt im Textmodus die Prozesse in geblocktem Status an.
F force a OOM kill Killt den "teuersten" Prozess für den Speicher.

Aktivieren und Deaktivieren

Status prüfen

$ cat /proc/sys/kernel/sysrq
438
  • Ist die Ausgabe ungleich 0, ist SysRQ aktiv, bei 0 nicht.
  • Zur Deutung des zurückgelieferten Werts siehe sysrq.txt.

Aktivierung

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

Deaktivierung

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

Permanentes Aktivieren und Deaktivieren

/etc/sysctl.d/10-magic-sysrq.conf

# Werte fuer X sind der Dokumentation zu entnehmen: http://www.mjmwired.net/kernel/Documentation/sysrq.txt
#kernel.sysrq = X
#
# Deaktivierung
kernel.sysrq = 0

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 des procfs geschrieben.
# echo b | tee /proc/sysrq-trigger

Dieser Befehl ist äquivalent zur Kombination Alt + Druck + B und startet den Rechner sofort neu.

Problembehebung

Magic SysRQ testen

Wer die SysRQ-Funktionen gezielt testen möchte, startet am besten eine Forkbomb auf dem Rechner, um diesen bewusst zu überlasten. Abschließend noch ein Auszug des Systemprotokolls eines Rechners mit Ubuntu 14.04, aus dem deutlich zu erkennen ist, dass der ersten drei Tasten ("REI") ignoriert werden:

Sep  9 16:42:48 ubuntu kernel: [  568.061699] SysRq : This sysrq operation is disabled.
Sep  9 16:42:54 ubuntu kernel: [  573.215822] SysRq : This sysrq operation is disabled.
Sep  9 16:42:57 ubuntu kernel: [  576.346673] SysRq : This sysrq operation is disabled.
Sep  9 16:43:00 ubuntu kernel: [  579.131420] SysRq : Emergency Sync
Sep  9 16:43:00 ubuntu kernel: [  579.277440] Emergency Sync complete
Sep  9 16:43:02 ubuntu kernel: [  581.271897] SysRq : Emergency Remount R/O

Dokumentation

RFC

Man-Pages

Info-Pages

Projekt-Homepage

Links

Intern

Weblinks

Testfragen

Testfrage 1

Antwort1

Testfrage 2

Antwort2

Testfrage 3

Antwort3

Testfrage 4

Antwort4

Testfrage 5

Antwort5


TMP

Die Funktion „S-Abf“ (engl. „SysRq“) ist auf IBM-AT-kompatiblen Tastaturen eine Alternativbelegung der „Druck“-Taste (englisch „Print Screen“)

Magic SysRq Key (kurz für „Magische S-Abf-Taste“, engl. Magic SysRequest key) bezeichnet eine Reihe von Tastenkombinationen mit der {{#if:trim|S-Abf}}-Taste für den Linux-Kernel. Damit lassen sich verschiedene Funktionen – beispielsweise ein Neustart des Computers – ausführen, wobei die einzelnen Funktionen auch nacheinander in sinnvoller Reihenfolge ausführbar sind. Das funktioniert auch noch, wenn der Computer auf andere Eingaben nicht mehr reagiert, sofern der Kernel noch nicht abgestürzt ist. Häufig nutzt man diesen „Klammergriff“ für einen Neustart, ohne Schäden am Dateisystem zu verursachen, oder um einen nicht mehr reagierenden X-Server zu beenden.

Häufig verwendete Kombinationen

Ein gerne verwendeter und in IT-Kreisen bekannter Weg, den Computer bei hängendem System neu zu starten, ist es, auf einem Linux-System die Tastenkombination {{#if:trim|Alt}} + {{#if:trim|S-Abf}} gedrückt zu halten und dabei nacheinander die Tasten {{#if:trim|R}}, {{#if:trim|E}}, {{#if:trim|I}}, {{#if:trim|S}}, {{#if:trim|U}} und {{#if:trim|B}} zu drücken. So werden die Dateisystemcaches sicher geleert (d. h. ihr Inhalt wird auf die Platte geschrieben), alle Dateisysteme sicher ausgehängt und damit eine Beschädigung des Dateisystems unterbunden. Eine weitere bekannte Tastenreihenfolge, RSEIUB, zieht den Sync vor.[1] Ein Argument dagegen ist, dass die terminierten Prozesse eventuell noch Daten in den Cache schreiben und der Sync somit zu früh kommt. Ein Argument dafür ist, dass der unmount-Befehl ohnehin die Platten synchronisieren sollte.[2] Es existiert kein Konsens darüber, welche Kombination zu bevorzugen ist.

Verfügbare Kombinationen

Der gewünschte Befehl wird erteilt, indem man gleichzeitig auf der Tastatur {{#if:trim|S-Abf}} + {{#if:trim|Alt}} drückt. {{#if:trim|S-Abf}} ist auf IBM-AT-kompatiblen Tastaturen eine Alternativbelegung der Taste {{#if:trim|Druck}}.

Auf Tastaturen für Deutschland drückt man gleichzeitig die Tasten {{#if:trim|Alt}} + {{#if:trim|Druck}} + {{#if:trim|Taste aus Tabelle unten}}.

Auf Tastaturen für die Schweiz und englischsprachige Länder entspricht die Taste {{#if:trim|SysRq}} dem deutschen Pendant {{#if:trim|S-Abf}}. Die Beschriftung ist zum Beispiel in der Schweiz {{#if:trim|PrtScr SysRq}}. Die Kombination auf schweizerischer Tastatur ist: {{#if:trim|Alt Gr}} + {{#if:trim|PrtScr SysRq}}.

Besonders auf Laptops müssen wegen herstellerspezifischen Tastaturlayouts ggf. noch Zusatztasten gedrückt werden, so etwa auf Dell-Laptops zunächst {{#if:trim|Num}}, anschließend {{#if:trim|Fn}} + {{#if:trim|Alt}} + {{#if:trim|Druck}} + {{#if:trim|entsprechender Buchstabe}}; auf z. B. ThinkPads kann folgende Abfolge verwendet werden: {{#if:trim|Alt}} drücken und halten, {{#if:trim|Fn}} + {{#if:trim|Druck}} drücken und wieder loslassen, {{#if:trim|entsprechenden Buchstaben}} drücken, alle loslassen.

Die für den entsprechenden Befehl notwendige Taste kann in der folgenden Tabelle abgelesen werden, Groß- und Kleinschreibung spielt keine Rolle. Die Angaben beziehen sich auf die in Deutschland übliche QWERTZ-Tastatur.

Alphanumerische Tasten und ihre Funktion[3][4]
Taste Funktion (englisch) Bedeutung
{{#if:trim|0}}{{#if:trim|9}} set log level 0}} werden nur noch kritische Meldungen wie etwa Kernel panic angezeigt.
{{#if:trim|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.
{{#if:trim|C}} crashdump Starte mit Hilfe von kexec[5] neu (sofern vorhanden) und gib einen Crashdump auf dem Bildschirm aus. Ansonsten provoziere einen Absturz durch eine Null-Pointer-Dereferenzierung.[6]
{{#if:trim|D}} Zeige (im Textmodus) alle derzeitigen Locks an.
{{#if:trim|E}} term Sende SIGTERM an alle Prozesse außer Init
{{#if:trim|F}} force a OOM kill Startet den OOM-Killer, der den speicherlastigsten Prozess tötet. Damit kann man meistens am System weiterarbeiten, wenn ein Prozess anfängt stark auszulagern und das System dadurch sehr träge reagiert.
{{#if:trim|G}} kGDB Schaltet bei neueren Kernelversionen auf die Framebuffer-Textkonsole um und startet den Kernel-Debugger kgdb, falls vorhanden.
{{#if:trim|H}} help Gib einen Hilfetext für die Benutzung des Magic-SysRq-Key aus. Auch jede andere nicht belegte Taste gibt diesen Text aus.
{{#if:trim|I}} kill Sende SIGKILL an alle Prozesse außer Init
{{#if:trim|J}} "Just thaw it" Beendet bei neueren Kernelversionen das „Einfrieren“ eines Dateisystems durch die IOCTL-Funktion FIFREEZE.
{{#if:trim|K}} secure attention key Beende alle Prozesse auf dem aktuellen Terminal, um sicher zu sein, dass der Login-Prompt von Init stammt und nicht von einem Trojaner. Eine aufgehängte Anwendung, welche die SVGAlib benutzt, oder ein nicht mehr reagierender X-Server lassen sich auch auf diese Weise beenden. So wird etwa in Ubuntu ab Version 9.04 dies statt der bisher genutzten Kombination {{#if:trim|Strg}} + {{#if:trim|Alt}} + {{#if:trim|Backspace}} empfohlen.[7]
{{#if:trim|L}} kill including init Sende SIGKILL an alle Prozesse, auch an Init. Das kommt einem Ausschalten gleich. Neuere Kernelversionen zeigen einen Backtrace an.
{{#if:trim|M}} memory Gib die Hauptspeicherbelegung in der Konsole aus.
{{#if:trim|N}} Hiermit lässt sich die Priorität von Echtzeit-Prozessen herabsetzen.
{{#if:trim|O}} poweroff Schaltet den Rechner mit sofortiger Wirkung über ACPI/APM – wenn unterstützt – aus. Wie bei {{#if:trim|B}} wird mit {{#if:trim|O}} alleine nichts gespeichert.
{{#if:trim|P}} show registers Zeige den Inhalt der CPU-Register inklusive der Flags an.
{{#if:trim|Q}} Zeige alle derzeitig laufenden Timer an.
{{#if:trim|R}} unraw Verlasse den Keyboard-Raw-Modus, der unter X und SVGAlib aktiv ist, in den Keyboard-XLATE-Modus, der im Textmodus von Linux verwendet werden kann. Dies kann nützlich sein, wenn eine grafische Anwendung abstürzt und der Benutzer sich in der Konsole wiederfindet, die aufgrund des falschen Tastatur-Modus zunächst jedoch nicht benutzbar ist.
{{#if:trim|S}} sync Schreibe alle noch nicht auf die Festplatte geschriebenen Daten aus dem Kernel-Festplatten-Cache auf die Festplatten
{{#if:trim|T}} show tasks Zeige eine Liste aktuell laufender Prozesse an.
{{#if:trim|U}} umount Alle schreibbar eingebundenen Partitionen werden ausgehängt und anschließend nur-lesend wieder eingehängt.
{{#if:trim|V}} framebuffer, ETM dump Schaltet bei neueren Kernelversionen auf die Framebuffer-Textkonsole um. Auf der ARM-Architektur wird der ETM-Puffer angezeigt.
{{#if:trim|W}} Zeige blockierte Prozesse an, die sich, beispielsweise während Festplattenzugriffen, im „ununterbrechbaren Schlaf“ befinden.
{{#if:trim|X}} XMON Bei neueren Kernelversionen für die XMON-Schnittstelle der Power/PowerPC-Architektur verwendet.
{{#if:trim|Y}} FTRACE dump Bei neueren Kernelversionen wird der FTRACE-Puffer angezeigt.
{{#if:trim|Z}} show global CPU registers Bei neueren Kernelversionen werden auf der SPARC-64-Architektur die globalen CPU-Register angezeigt.

Auslösen auf der Kommandozeile

Die genannten Befehle können auch über die Shell (und somit auch durch Skripte) ausgelöst werden. Dazu wird in virtuelle Datei /proc/sysrq-trigger vom Kernel-Proc-API das entsprechende Zeichen geschrieben. Dies ist nur als root möglich. Der folgende Befehl löst beispielsweise einen sofortigen Reboot aus.

echo b > /proc/sysrq-trigger

Literatur

  • Oliver Diedrich: Geht nicht? Gibts nicht! Hängende Linux-Systeme sicher ausschalten. In: c’t Nr. 26, 2008, S. 210

Weblinks

Vorlage:Wikibooks

Einzelnachweise

  1. Ubuntuforums.org, Guide zum Magic SysrRq Key (englisch)
  2. Linuxhowtos.org(englisch) oder pro-linux.de, Aussage zu: "unmount enthält sync"
  3. c’t kompakt Linux. Heise, Hannover 2009.
  4. Ein Großteil dieses Artikels besteht aus Informationen, die der offiziellen Dokumentation für den Magic SysRq Key entnommen sind, welche sich auf Linux-Systemen üblicherweise in der Datei /usr/src/linux/Documentation/sysrq.txt befindet (zuletzt überarbeitet nach der Dokumentation zur Version 3.4). Als zuverlässige Gebrauchsanweisung sollte ebendiese Dokumentation für die entsprechende Kernel-Version des Systems herangezogen werden.
  5. Readme-Datei von kexec
  6. Vorlage:Webarchiv oder mjmwired.net, SysRq Dokumentation
  7. „Ubuntu 9.04“ im Ubuntuusers-Wiki oder Releasenotes zu Ubuntu 9.04 (englisch)