SysRq 键有什么作用?

SysRq 键有什么作用?

在我的键盘上,当 F-lock 处于打开状态时,用作 Print Screen 键的键下方有“SysRq”(可能是在 F-lock 关闭时使用的)。它是什么?它有什么作用?

答案1

SysRq在 IBM PC 键盘上引入了此功能,以便跨平台启动低级事件。键入键时,它们会被放入缓冲区并定期刷新。如果您的机器锁定,键盘将无法工作。

关键SysRq基本上是强制将命令发送到计算机,绕过缓冲区,以触发低级调用;通常是 RESET 事件。

但是,每个操作系统现在都会忽略这个键,并使用首选的组合按键来启动某种类似“任务管理器”的界面,从而使操作系统保持运行,而不是重置计算机。

从主机操作系统运行应用程序比从 BIOS 运行应用程序更为常见。20 世纪 80 年代的情况并非如此 :-)

答案2

SysRq键是在个人电脑早期发明的,当时低级终止并驻留 (TSR) 程序可以直接访问和修改键盘缓冲区。此键绕过缓冲区并直接访问 MSDOS 操作系统。

如今,BIOS 和 Windows 都忽略了此键。它已降级为 键,并由+Prt Scn激活 。某些制造商(例如联想)不再在键盘上标记它,尽管仍可按上述方式访问它。AltPrt Scn

一些较旧的调试器使用此键作为中断执行键,但现在已不存在了。

在 Linux 下,该键仍然存在,需要在构建内核时指定 CONFIG_MAGIC_SYSRQ 内核选项。可以通过输入以下命令来检查:

$ cat /proc/sys/kernel/sysrq
176

该命令通常会返回的值176,其中每个位代表一个功能:

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

值为 则0禁用所有 SysRq 功能,值为 则1启用所有 SysRq 功能。例如,可以使用以下命令更改运行值:

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

在所有命令键序列中,REISUB 是最著名的,按住 Alt+Prt Scn键并按顺序按下以下键:

  • r:将键盘从原始模式切换到 XLATE 模式
  • e:向所有进程发送 SIGTERM 信号,以便尽可能正常关闭
  • i:发送 SIGKILL 信号来终止没有响应的进程
  • s:同步所有已挂载的文件系统并刷新所有缓存的磁盘更改
  • u:以只读方式重新挂载所有文件系统
  • b:系统重启。

参考:

答案3

它是一个可编程的键,可以做各种各样的事情,取决于它。

我记得它在旧的 IBM 终端上有一些用途,并且一些 DOS 程序使用它来进行某种形式的软重置。

答案4

在 Linux 上它仍然发挥着非常有用的功能:

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

相关内容