Was macht der SysRq-Schlüssel?

Auf meiner Tastatur hat die Taste, die als Druckbildschirmtaste fungiert, wenn die F-Sperre aktiviert ist, "SysRq" darunter (vermutlich verwendet, wenn die F-Sperre deaktiviert ist). Was ist es und was macht es?

Author: Tamara Wijsman, 2009-07-16

4 answers

SysRq wurde auf IBM-PC-Tastaturen eingeführt, um plattformübergreifend ein Low-Level-Ereignis zu initiieren. Wenn Sie die Tasten eingeben, werden sie in einen Puffer gelegt und regelmäßig gespült. Wenn Ihr Computer sperrt, funktioniert die Tastatur nicht.

Die Taste SysRq sollte im Grunde dazu zwingen, einen Befehl unter Umgehung des Puffers an den Computer zu senden, um einen Low-Level-Aufruf auszulösen; normalerweise ein RESET-Ereignis.

Jedoch ignoriert jedes Betriebssystem diesen Schlüssel jetzt und verwendet eine bevorzugte kombination Tastendruck eine Art 'Task-Manager' wie Schnittstelle zu initiieren, so dass das Betriebssystem läuft zu bleiben, anstatt einen Reset des Computers.

Es ist viel häufiger, Anwendungen vom Host-Betriebssystem als vom BIOS aus auszuführen. So war es in den 1980er Jahren nicht: -)

 18
Author: Dominic Zukiewicz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-02-11 16:13:46

Der [[13]}SysRq - Schlüssel wurde in den frühen Tagen von PCS erfunden, bei der low-level-Terminate and Stay Resident (TSR) Programme konnte direkt greifen Sie auf den Tastaturpuffer zu und ändern Sie ihn. Dieser Schlüssel umging den Puffer und gab direkten Zugriff auf das MSDOS-Betriebssystem.

Heute wird dieser Schlüssel vom BIOS und von Windows ignoriert. Es wurde auf die Taste Prt Scn verbannt und wird aktiviert durch Alt+Prt Scn. Einige Hersteller, zum Beispiel Lenovo, markieren Sie es nicht mehr auf der Tastatur, obwohl es immer noch wie oben zugegriffen werden kann.

Einige ältere Debugger verwendeten diesen Schlüssel als Break-Execution-Schlüssel, aber dies nicht mehr exists.

Unter Linux ist der Schlüssel noch vorhanden und erfordert, dass CONFIG_MAGIC_SYSRQ kernel-option angegeben wurde, wenn der kernel gebaut wurde. Dies kann durch Eingabe des Befehls überprüft werden:

$ cat /proc/sys/kernel/sysrq
176

Der Befehl gibt meistens den Wert von 176 zurück, wobei jedes Bit für ein Funktion:

0 - disable sysrq completely
1 - enable all functions of sysrq
2 - enable control of console logging level
4 - enable control of keyboard (SAK, unraw)
8 - enable debugging dumps of processes etc.
16 - enable sync command
32 - enable remount read-only
64 - enable signaling of processes (term, kill, oom-kill)
128 - allow reboot/poweroff
256 - allow nicing of all RT tasks

Ein Wert von 0 deaktiviert alle SysRq-Funktionen und ein Wert von 1 aktiviert sie alle. Der laufende Wert kann beispielsweise durch den Befehl geändert werden:

echo "1" > /proc/sys/kernel/sysrq

Von allen Befehlstastenfolgen ist REISUB der bekannteste, wenn er die Alt+Prt Scn keys und drücken Sie die folgenden Tasten nacheinander:

  • r: Schaltet die Tastatur vom Raw-in den XLATE-Modus
  • e : sendet ein SIGTERM-signal an alle Prozesse, um anmutig zu schließen, wenn möglich
  • i: Sendet ein SIGKILL-Signal, um Prozesse zu beenden, die nicht geantwortet haben
  • s: Synchronisieren Sie alle eingehängten Dateisysteme und spülen Sie alle zwischengespeicherten Festplattenänderungen
  • u: Alle Dateisysteme in read-only
  • b: Neustart des Systems.

Referenzen:

 6
Author: harrymc,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-12-23 10:36:56

Es ist eine programmierbare Taste, die gemacht werden kann, um eine Vielzahl von Dingen zu tun, hängt.

Ich erinnere mich, dass es einige Anwendungen auf alten Ibm-Terminals hatte, und einige DOS-Programme verwendeten es für eine Form des Soft-Reset.

 3
Author: Rook,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2009-07-16 02:47:39

Unter Linux dient es immer noch einer sehr nützlichen Funktion:

Https://en.wikipedia.org/wiki/Magic_SysRq_key

 2
Author: pgoetz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-01-29 19:00:41