[[Vorlage(Getestet, general)]] {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis()]] Obwohl Linux sehr stabil ist, können in Ausnahmefällen [wikipedia:Kernel_Panic:Kernel Panics] auftreten. Manchmal stoppt auch nur der X-Server und es kann nichts mehr vorgenommen werden, nicht mal mehr der Wechsel in einer anderen [:Terminal:Konsole]. In einem solchem Moment kann natürlich den Reset-Taster drücken oder den Computer "hart" ausschalten, mit dem immer vorhandenen Risiko von Datenverlusten. Notwendig ist dies aber nicht, da es eine Möglichkeit gibt, das System sauber herunterzufahren, oder um die Ursache des Problems zu finden. Dazu gibt es eine Funktion des Kernels, die sich "SysRequest key" nennt, auch als [wikipedia:Magische_S-Abf-Taste:Magische S-Abf-Taste] bekannt. Die SysRQ-Taste befindet sich auf der normalen Tastatur als Zweitbelegung [[Vorlage(Tasten, druck)]]. Je nach Tastatur muss zum Erreichen von "S-Abf" zusätzlich [[Vorlage(Tasten, alt)]] oder bei Notebooks teilweise auch [[Vorlage(Tasten, fn)]] drücken. Für den Magic-SysRQ muss aber bei den meisten Rechnern [[Vorlage(Tasten, alt+druck)]] drücken, bei manchen aber auch [[Vorlage(Tasten,altgr+druck)]] - egal wie die "tatsächliche" Belegung ist! {{{#!vorlage Hinweis Anmerkung für Dell Vostro Laptops: Drücke erst [[Vorlage(Tasten, Num)]], dann leuchtet das blaue LED auf und drücke danach [[Vorlage(Tasten, Fn+Alt+Druck)]] +"Buchstabe". Anmerkung für einige Logitech-Tastaturen (K300): Drücke erst [[Vorlage(Tasten, FN)]] (Taste in rot), dann leuchten oben die LED's in kräftiger, orangener Farbe auf und drücke danach [[Vorlage(Tasten, Alt+Druck)]] (die Druck-Taste ist die [[Vorlage(Tasten, Pos1)]]-Taste) +"Buchstabe". }}} Der gewünschte Befehl wird erteilt, indem auf der Tastatur dann noch zusätzlich der entsprechenden Buchstaben gedrückt wird. Die für den entsprechenden Befehl notwendige Taste kann der folgenden Tabelle entnommen werden. = 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; hierfür wird die ganze Zeit [[Vorlage(Tasten, alt+druck)]] gedrückt gehalten und betätigt nacheinander die Tasten [[Vorlage(Tasten,r+e+i+s+u+b)]]. Die dazu benötigte Reihenfolge kann sich jeder mit folgendem Satz merken: '''R'''aising '''E'''lephants '''I'''s '''S'''o '''U'''tterly '''B'''oring Jeweils der erste Buchstabe eines Wortes steht für die Taste mit der entsprechenden SysRQ-Kombination: ||<-4 rowclass="titel"> Sicheres Reboot || ||'''Taste''' ||'''Funktion''' || '''Bedeutung''' || ||[[Vorlage(Tasten, r)]]|| unraw || Nimm der grafischen Oberfläche den Zugriff auf die Tastatur || ||[[Vorlage(Tasten, e)]]|| term || Sende ein SIGTERM an alle Prozesse außer Init || ||[[Vorlage(Tasten, i)]]|| kill || Sende ein SIGKILL an alle Prozesse außer Init || ||[[Vorlage(Tasten, s)]]|| sync || Schreibe alle noch nicht auf die Festplatte geschriebenen Daten aus dem Kernel-Festplatten-Cache auf die Festplatten || ||[[Vorlage(Tasten, u)]]|| umount || Alle eingehängten Partitionen werden ausgehängt, und danach nur-lesbar eingehängt || ||[[Vorlage(Tasten, 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: ||<-4 rowclass="titel"> Sonstige Funktionen || ||'''Taste''' ||'''Funktion''' || '''Bedeutung''' || ||[[Vorlage(Tasten, o)]]|| Power off || Fahre den Rechner mit [:Energiesparmodi mit ACPI: APM/ACPI] herunter und schalte ihn aus (wenn vom Rechner unterstützt). || ||[[Vorlage(Tasten, m)]]|| Memory || Gibt die Hauptspeicherbelegung in der Konsole aus || ||[[Vorlage(Tasten, q)]]|| || Zeige alle derzeitig laufenden Timer an || ||[[Vorlage(Tasten, p)]]|| || Zeige den Inhalt der CPU-Register inklusive der FLAGS an || ||[[Vorlage(Tasten, t)]]|| || Zeige eine Liste aktuell laufender Prozesse an || ||[[Vorlage(Tasten, 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. || {{{#!vorlage Experten Wer diese Funktionen gezielt testen möchte startet am besten eine [wikipedia:Forkbomb:Forkbomb] auf dem Rechner, um diesen gezielt zu überlasten. }}} = Aktivieren und Deaktivieren von Magic SysRQ = Unter Ubuntu ist der Magic SysRQ seit 10.10 (Maverick Meerkat) standardmäßig deaktiviert. Dieser kann über den Befehl [1] {{{#!vorlage Befehl cat /proc/sys/kernel/sysrq }}} überprüft werden. Ist die Ausgabe ``1``, ist der SysRQ aktiv, bei ``0`` nicht. Auf diesem Weg lässt sich die Funktion auch aktivieren: {{{#!vorlage Befehl echo 1 | sudo tee /proc/sys/kernel/sysrq }}} beziehungsweise deaktivieren: {{{#!vorlage Befehl echo 0 | sudo tee /proc/sys/kernel/sysrq }}} = Permanentes Aktivieren und Deaktivieren von Magic SysRQ = Zum permanenten Aktivieren oder Deaktivieren wird in die Datei '''/etc/sysctl.conf''' einfach {{{#!code bash kernel.sysrq = 1 }}} zur permanenten Aktivierung der Option oder {{{#!code bash kernel.sysrq = 0 }}} zur permanenten Deaktivierung eingetragen. = Bedienung aus der Kommandozeile = Wenn die [[Vorlage(Tasten, 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: {{{#!vorlage Befehl echo b | sudo tee /proc/sysrq-trigger }}} Dieser Befehl ist äquivalent zur Kombination [[Vorlage(Tasten, Alt+druck)]]+[[Vorlage(Tasten, b)]]. = Links = * [http://www.mjmwired.net/kernel/Documentation/sysrq.txt Documentation/sysrq.txt im Quellcode-Verzeichnis von Linux] {en} * [http://www.linuxforums.org/misc/procfs_from_the_inside.html process file system] {en} # tag: System