Zum Inhalt springen

SysRQ: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Magic SysRQ Key: reihenfolge beim ausführen angepasst, wikif, synt, stil, vorlage taste
KKeine Bearbeitungszusammenfassung
 
(6 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Jeder wird schon Mal erlebt haben, obwohl Linux sehr stabil läuft, dass sich das System vollkommen aufgehängt hat.
Jeder wird schon Mal erlebt haben, obwohl Linux sehr stabil läuft, dass sich das System vollkommen aufgehängt hat. All zu voreilig wird die Reset-Taste gedrückt, und Datenverlust riskiert.
All zu voreilig wird die Reset-Taste gedrückt, und Datenverlust riskiert.
 
Es gibt eine Lösung, die es erlaubt, das System sauber herunterzufahren. Im Kernel wird dafür die Option SysRQ verwendet. SysRQ ist eine "magische" Tastenkonfiguration, welche weiter unten näher beschrieben wird.
 
Zunächst muss SysRQ aktiviert werden. Dazu ist folgender Befehl als root auszuführen:


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
  echo "1" > /proc/sys/kernel/sysrq


Um SysRQ dauerhaft zu aktivieren, muss die Datei ''/etc/sysctl.conf'' (ebenfalls als root) editiert werden:
Um SysRQ dauerhaft zu aktivieren, muss die Datei {{ic|/etc/sysctl.d/99-sysctl.conf}} editiert werden:


# Disable the magic-sysrq key
# kernel.sysrq = 0
  # Enable the magic-sysrq key
  # Enable the magic-sysrq key
  kernel.sysrq = 1
  kernel.sysrq = 1
Zeile 15: Zeile 14:
SysRQ ist auf einer Standard-Tastatur als {{taste|Druck/S-Abf}} zu finden.
SysRQ ist auf einer Standard-Tastatur als {{taste|Druck/S-Abf}} zu finden.


{| {{prettytable}}
''Hinweis'': Auf Laptops oder Tastaturen mit Umschalttaste für Funktionstasten - {{taste|Fn}} - ist es notwendig diese Taste auch mit zu verwenden. Also: {{taste|Fn}} + {{taste|Alt}} + {{taste|Druck/S-Abf}} + Aktionstaste.
 
{| class="wikitable"
  |-
  |-
  |'''Tastenkombinationen'''
  |'''Tastenkombinationen'''
  |'''Bedeutung'''
  |'''Bedeutung'''
  |-  
  |-  
|{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|r}}
|{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|R}}
|nimmt X die Kontrolle über Maus und Tastatur (z. B. wenn X abgestürzt ist)
|nimmt X die Kontrolle über Maus und Tastatur (z. B. wenn X abgestürzt ist)
|-
|-
|{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|o}}
|{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|O}}
|System über APM niedergemacht
|System über APM niedergemacht
|-
|-
|{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|s}}
|{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|S}}
|schreibt die Daten aus dem Disk-Cache auf die Festplatte, es wird ein Sync durchgeführt
|schreibt die Daten aus dem Disk-Cache auf die Festplatte, es wird ein Sync durchgeführt
|-
|-
|{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|u}}
|{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|U}}
|umountet alle gemounteten Dateisysteme readonly
|umountet alle gemounteten Dateisysteme readonly
|-
|-
|{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|b}}
|{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|B}}
|reboot
|reboot
|-
|-
|{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|m}}
|{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|M}}
|gibt Infos über den Speicher in der Konsole aus
|gibt Infos über den Speicher in der Konsole aus
|-
|-
|{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|k}}
|{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|K}}
|killt Prozesse auf dem Terminal
|killt Prozesse auf dem Terminal
|-
|-
|{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|e}}
|{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|E}}
|sendet ein SIGTERM an alle Prozesse, außer Init
|sendet ein SIGTERM an alle Prozesse, außer Init
|-
|-
|{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|i}}
|{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|I}}
|sendet SIGKILL an alle Prozesse, außer Init
|sendet SIGKILL an alle Prozesse, außer Init
|-
|-
|{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|l}}
|{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|L}}
|sendet SIGKILL an alle Prozesse, inklusive Init
|sendet SIGKILL an alle Prozesse, inklusive Init
|}
|}


Um ein System also „sauber“ herunterzubringen, kann man also wie folgt vorgehen.
Um ein System „sauber“ herunterzufahren, kann man wie folgt vorgehen.


*{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|r}} (Setzt die Tastatur in raw-mode)
*{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|R}} (Setzt die Tastatur in raw-mode)
*{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|e}} (Prozesse werden sauber beendet (SIGTERM))
*{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|E}} (Prozesse werden sauber beendet (SIGTERM))
*{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|i}} (Für die widerspenstigen Prozesse, die sich nicht beenden *{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|s}} (Daten aus dem Disk-Cache werden geschrieben (sync))
*{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|I}} (Für die widerspenstigen Prozesse, die sich nicht beenden lassen wollen (SIGKILL))
lassen wollen (SIGKILL))
*{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|S}} (Daten aus dem Disk-Cache werden geschrieben (sync))
*{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|u}} (Hängt alle gemounteten Dateisysteme aus (umount))
*{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|U}} (Hängt alle gemounteten Dateisysteme aus (umount))
*{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|b}} (Veranlasst einen Neustart (reboot))
*{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|B}} (Veranlasst einen Neustart (reboot))


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


Zu dieser Sequenz wird auch gerne die englische Eselsbrücke „'''R'''aising '''E'''lephants '''I'''s '''S'''o '''U'''tterly '''B'''oring“ („Die Aufzucht von Elefanten ist absolut langweilig.“) empfohlen. Ein solches Vorgehen wird daher oft mit der Bezeichnung „raising the elephant“ umschrieben.
Zu dieser Sequenz wird auch gerne die englische Eselsbrücke „'''R'''aising '''E'''lephants '''I'''s '''S'''o '''U'''tterly '''B'''oring“ („Die Aufzucht von Elefanten ist absolut langweilig.“) empfohlen. Ein solches Vorgehen wird daher oft mit der Bezeichnung „raising the elephant“ umschrieben.
== Austesten ==
Da dass Neustarten mittels SysRQ doch einige "Verrenkungen der Hände" bedarf sollte man das Vorgehen mal austesten in einer Situation, die eben nicht ein nicht mehr reagierendes System ist.
Dazu am besten alle Anwendungen schließen. Ein Terminal öffnen und die Kernel-Ringbuffer-Meldungen anzeigen lassen:
# dmesg -w    # oder sudo dmesg -w als User
Wir beginnen mit "R" in der Sequenz "REISUB". Bei korrekter Verwendung der oben angeführten Tastenkombination für "Setzt die Tastatur in raw-mode"  erscheint in der dmesg-Ausgabe:
sysrq: Keyboard mode set to system default
Es müssen '''alle''' Tasten gleichzeitig gedrückt sein, also:
{{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|R}}
oder mit Fn-Taste:
{{taste|Fn}} + {{taste|Alt}} + {{taste|Druck/S-Abf}} + {{taste|R}}
Das gleiche gilt für den Rest der "REISUB"-Sequenz.
* nach ''E'' und/oder ''I'' beenden sich alle laufenden Prozesse, also auch das laufende dmesg-Terminal und der Windowmanager. Man landet auf einer TTY-Konsole.
* nach ''S'' und ''U'' erscheinen entsprechende sysrq-Meldungen auf dem aktiven TTY-Terminal wie "Emergency Sync" und "Emergency Remount R/O". Danach ist zwingend ein Reboot notwendig, also:
* ''B'' rebootet das System dann.
== Weblinks ==
* [https://fedoraproject.org/wiki/QA/Sysrq SysRq-Informationen vom Fedora Project] {{sprache|en}}


[[Kategorie:Tipps und Tricks]]
[[Kategorie:Tipps und Tricks]]
[[en:Keyboard_shortcuts#Kernel_(SysRq)]]

Aktuelle Version vom 12. November 2025, 06:39 Uhr

Jeder wird schon Mal erlebt haben, obwohl Linux sehr stabil läuft, dass sich das System vollkommen aufgehängt hat. All zu voreilig wird die Reset-Taste gedrückt, und Datenverlust riskiert.

Es gibt eine Lösung, die es erlaubt, das System sauber herunterzufahren. Im Kernel wird dafür die Option SysRQ verwendet. SysRQ ist eine "magische" Tastenkonfiguration, welche weiter unten näher beschrieben wird.

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.d/99-sysctl.conf editiert werden:

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

SysRQ ist auf einer Standard-Tastatur als Druck/S-Abf zu finden.

Hinweis: Auf Laptops oder Tastaturen mit Umschalttaste für Funktionstasten - Fn - ist es notwendig diese Taste auch mit zu verwenden. Also: Fn + Alt + Druck/S-Abf + Aktionstaste.

Tastenkombinationen Bedeutung
Alt + Druck/S-Abf + R nimmt X die Kontrolle über Maus und Tastatur (z. B. wenn X abgestürzt ist)
Alt + Druck/S-Abf + O System über APM niedergemacht
Alt + Druck/S-Abf + S schreibt die Daten aus dem Disk-Cache auf die Festplatte, es wird ein Sync durchgeführt
Alt + Druck/S-Abf + U umountet alle gemounteten Dateisysteme readonly
Alt + Druck/S-Abf + B reboot
Alt + Druck/S-Abf + M gibt Infos über den Speicher in der Konsole aus
Alt + Druck/S-Abf + K killt Prozesse auf dem Terminal
Alt + Druck/S-Abf + E sendet ein SIGTERM an alle Prozesse, außer Init
Alt + Druck/S-Abf + I sendet SIGKILL an alle Prozesse, außer Init
Alt + Druck/S-Abf + L sendet SIGKILL an alle Prozesse, inklusive Init

Um ein System „sauber“ herunterzufahren, kann man wie folgt vorgehen.

  • Alt + Druck/S-Abf + R (Setzt die Tastatur in raw-mode)
  • Alt + Druck/S-Abf + E (Prozesse werden sauber beendet (SIGTERM))
  • Alt + Druck/S-Abf + I (Für die widerspenstigen Prozesse, die sich nicht beenden lassen wollen (SIGKILL))
  • Alt + Druck/S-Abf + S (Daten aus dem Disk-Cache werden geschrieben (sync))
  • Alt + Druck/S-Abf + U (Hängt alle gemounteten Dateisysteme aus (umount))
  • Alt + Druck/S-Abf + 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 englische Eselsbrücke „Raising Elephants Is So Utterly Boring“ („Die Aufzucht von Elefanten ist absolut langweilig.“) empfohlen. Ein solches Vorgehen wird daher oft mit der Bezeichnung „raising the elephant“ umschrieben.

Austesten

Da dass Neustarten mittels SysRQ doch einige "Verrenkungen der Hände" bedarf sollte man das Vorgehen mal austesten in einer Situation, die eben nicht ein nicht mehr reagierendes System ist.

Dazu am besten alle Anwendungen schließen. Ein Terminal öffnen und die Kernel-Ringbuffer-Meldungen anzeigen lassen:

# dmesg -w    # oder sudo dmesg -w als User

Wir beginnen mit "R" in der Sequenz "REISUB". Bei korrekter Verwendung der oben angeführten Tastenkombination für "Setzt die Tastatur in raw-mode" erscheint in der dmesg-Ausgabe:

sysrq: Keyboard mode set to system default

Es müssen alle Tasten gleichzeitig gedrückt sein, also:

Alt + Druck/S-Abf + R

oder mit Fn-Taste:

Fn + Alt + Druck/S-Abf + R

Das gleiche gilt für den Rest der "REISUB"-Sequenz.

  • nach E und/oder I beenden sich alle laufenden Prozesse, also auch das laufende dmesg-Terminal und der Windowmanager. Man landet auf einer TTY-Konsole.
  • nach S und U erscheinen entsprechende sysrq-Meldungen auf dem aktiven TTY-Terminal wie "Emergency Sync" und "Emergency Remount R/O". Danach ist zwingend ein Reboot notwendig, also:
  • B rebootet das System dann.