Jam*_*ite 65 reboot shortcut-keys sysrq
有时,所以我用的魔法组合键我的笔记本电脑已经成为卡住Alt+ SysRq+REISUB进行安全重启。但是,它似乎对我不起作用,因为当我按下B键来完成魔术键命令时,它只是说“正在重置...”并且什么也不做。
所有其他键似乎都可以正常工作,因为它会重置键盘布局、终止所有任务等,但似乎无法在重新启动后完成。
我的印象是我的笔记本电脑应该在按照 REISUB 的顺序按下所有魔法键后重新启动。
mni*_*ess 61
Alt+SysRq 已被禁用以修复错误。禁用 Magic-SysRq 本身被认为是一个错误,此后已重新启用(#1025467)。如果它仍然为您禁用,您可以重新启用它:
编辑文件/etc/sysctl.conf以包含该行
kernel.sysrq=1
Run Code Online (Sandbox Code Playgroud)
从 Ubuntu 12.10 开始,可以更精细地控制启用哪些 Magic-SysRq 功能。只需编辑文件/etc/sysctl.d/10-magic-sysrq.conf。
该文件有详细记录,并准确地告诉您如何启用哪些功能。当前的默认值是出于安全目的选择的,只有在您知道为什么需要时才应该更改(有关安全问题,请参阅#194676)。
ger*_*ijk 33
键盘是这里的问题!
提示:尝试击球Shift+ Alt+SysRq看到一个虚拟终端上的“帮助”输出。这有助于查看它是否正常工作而不会造成任何伤害:
SysRq : HELP : loglevel(0-9) reBoot Crash terminate-all-tasks(E) memory-full-oom-kill(F) kill-all-tasks(I) thaw-filesystems(J) saK show-backtrace-all -active-cpus(L) show-memory-usage(M) nice-all-RT-tasks(N) powerOff show-registers(P) show-all-timers(Q) unRaw Sync show-task-states(T)卸载 show-blocked-tasks(W) dump-ftrace-buffer(Z)
在所有情况下,我都遇到过它不起作用,交换键盘工作得很好,并表明任何内核设置都没有问题。
gee*_*nsa 19
属性:
https :
//fedoraproject.org/wiki/QA/Sysrq#How_do_I_use_the_magic_SysRq_key基于
Credits的原创作品 由
Mydraal 撰写
由Adam Sulmicki
更新 由Jeremy M. Dolan 更新 2001/01/28 10:15:59
添加来自 Crutcher Dunnavant
https://askubuntu.com/a/11194/102029 mneiss 提供了 LaunchPad 的链接。
什么是sysrq?
为什么 RESIUB(O) 不起作用?
1 如何让 sysrq 以我想要的方式行事?
1.1什么是神奇的 SysRq 键?
1.2如何启用神奇的 SysRq 键?
1.3如何使用神奇的 SysRq 键?
1.4什么是“命令”键?
1.5好的,那么我可以用它们做什么?
1.6 故障排除
1.6.1在 initscripts 运行前挂起
1.6.2有时 SysRq 在使用后似乎“卡住”了,我该怎么办?
1.6.3我点击了 SysRq,但似乎什么也没发生,怎么了?
1.6.4我想在一个模块中添加SysRQ按键事件,它是如何工作的?
1.6.5结论
1.6.6附录
注。
您可能会发现使用Ctrl+F来使用目录很有帮助。
一个常见公知的,它冻结或与limitising磁盘损坏导致系统文件损坏或丢失数据的风险锁定后重新获得使用机器的使用的方法是使用
Alt+ SysRq+ r,然后s,然后e,然后i,然后u再b和/或者如果需要 ( o)
对于从 >= 8.04LTS 到当前 13.04 版本的所有版本,这对许多人(即我和 James)来说并没有按预期工作。
考虑在LaunchPad Bug 194676 中发现的这个错误描述:
问题描述:
默认情况下,在 Ubuntu 桌面系统上默认启用 SysRq,这在系统锁定并且您希望尽可能温和地停止它或调试问题时非常有用。然而,许多人感到惊讶的是,您还可以要求它将当前内存的内容转储到控制台(或 dmesg),尽管只能通过键盘进行。
openSUSE 在其 SysRq 上设置了默认位掩码 176,默认情况下,它限制您同步、重新启动和“重新挂载只读”。这会阻止人们默认使用 sysrq 来检查听起来合理的内存。
Ubuntu 开发人员认为需要对此采取一些措施,考虑到上述观察可能出现的复杂情况,最佳解决方案是默认应用位掩码 176 sysrq,从而需要用户输入以根据需要设置 sysrq。位掩码 176 只允许S, U,B即同步,重新挂载已安装的分区并重新启动。
阅读完整的错误报告和评论将突出显示一些可能适用于您的系统的选项。
不同硬件、内核、键盘和位掩码的累积影响意味着 sysrq 对不同的人表现不同。
获取有关系统如何使用 sysrq 的 txt 输出的一种方法是从 tty 应用 sysrq 命令(当系统没有受到锁定/冻结的影响时)。这样做可能表明 sysrq 尚未完全禁用,但正在使用位掩码 176。
在 13.04 桌面 amd64 liveDVD 和 13.04 桌面 amd64 安装上搜索 /proc/sys/kernel/sysrq 确认当前默认将 sysrq 保留在位掩码 176。
如果 sysrq 对你有用;可能值得一问,“如果我当时没有更改 10-magic-sysrq 设置;谁做了。?”
以下是https://fedoraproject.org/wiki/QA/Sysrq的编辑复制和粘贴。
1.1 什么是神奇的 SysRq 键?
这是一个“神奇”的组合键,你可以点击它,内核会响应它,不管它在做什么,除非它被完全锁定。
1.2 如何启用神奇的 SysRq 键?
sysrq 内置于 Ubuntu 内核中,但在启动时禁用,默认情况下使用 10-magic-sysrq.conf。
要在启动时重新启用它,您必须编辑 /etc/sysctl.d/10-magic-sysrq.conf 文件。即取消注释这一行将启用 sysrq 的所有功能:
# 1 - enable all functions of sysrq
Run Code Online (Sandbox Code Playgroud)
当运行带有 SysRq 编译的内核时, /proc/sys/kernel/sysrq 控制允许通过 SysRq 键调用的函数。以下是 /proc/sys/kernel/sysrq 中可能的值列表:
0 - disable sysrq completely
1 - enable all functions of sysrq
>1 - bitmask of allowed sysrq functions (see below for detailed function description):
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 signalling of processes (term, kill, oom-kill)
128 - allow reboot/poweroff
176 - allow only sync, reboot and "remount read-only"
256 - allow nicing of all RT tasks
Run Code Online (Sandbox Code Playgroud)
您可以通过以下命令设置文件中的值。
echo "number" >/proc/sys/kernel/sysrq
Run Code Online (Sandbox Code Playgroud)
所以要完全启用它。
echo "1" > /proc/sys/kernel/sysrq
Run Code Online (Sandbox Code Playgroud)
或者也可以通过这样做来启用它。
sysctl -w kernel.sysrq=1
Run Code Online (Sandbox Code Playgroud)
笔记。
/proc/sys/kernel/sysrq 的值仅影响通过键盘进行的调用。始终允许通过 /proc/sysrq-trigger 调用任何操作(具有管理员权限的用户 - 见下文)。
1.3 如何使用神奇的 SysRq 键?
Ubuntu 桌面
你按下组合键Alt+ SysRq+ command key。
NB-请参阅本节以及用于其它系统和键盘等可能的默认设置,故障排除部分的注释。
可以设置您选择的任何字符:所有架构
向 /proc/sysrq-trigger 写入一个字符:
echo t > /proc/sysrq-trigger
Run Code Online (Sandbox Code Playgroud)
将T行为设置为SysRq
注意。
某些键盘可能没有标有 的键SysRq。该SysRq键也被称为Print Screen关键。此外,某些键盘无法处理同时按下的这么多键,因此Alt+ SysRq-SysRq然后按下command key然后释放所有键可能会更好。有关这方面的更多信息,请参阅本指南基于https://fedoraproject.org/wiki/QA/Sysrq#How_do_I_use_the_magic_SysRq_key.3F的完整 QA 写作。
1.4 什么是“命令”键?
'b' - Will immediately reboot the system without syncing or unmounting your disks.
'c' - Will perform a kexec reboot in order to take a crashdump.
'd' - Shows all locks that are held.
'e' - Send a SIGTERM to all processes, except for init.
'f' - Will call oom_kill to kill a memory hog process.
'g' - Used by kgdb on ppc and sh platforms.
'h' - Will display help (any key that is not listed here will bring forth help )
'i' - Send a SIGKILL to all processes, except for init.
'k' - Secure Access Key (SAK) Kills all programs on the current virtual terminal.
Run Code Online (Sandbox Code Playgroud)
笔记。
请参阅下面 SAK 部分中的重要注释。
'l' - Shows a stack backtrace for all active CPUs.
'm' - Will dump current memory info to your console.
'n' - Used to make RT tasks nice-able
'o' - Will shut your system off (if configured and supported).
'p' - Will dump the current registers and flags to your console.
'q' - Will dump a list of all running timers.
'r' - Turns off keyboard raw mode and sets it to XLATE.
's' - Will attempt to sync all mounted filesystems.
't' - Will dump a list of current tasks and their information to your console.
'u' - Will attempt to remount all mounted filesystems read-only.
'v' - Dumps Voyager SMP processor info to your console.
'w' - Dumps tasks that are in uninterruptable (blocked) state.
'x' - Used by xmon interface on ppc/powerpc platforms.
'0'-'9' - Sets the console log level, controlling which kernel messages will be printed to your console. ('0', for example would make it so that only emergency messages like PANICs or OOPSes would make it to your console.)
Run Code Online (Sandbox Code Playgroud)
1.5 好的,那么我可以用它们做什么?
r当您的 X 服务器或 svgalib 程序崩溃时,Un aw 非常方便。
k当您想确保控制台上没有运行的木马程序会在您尝试登录时获取您的密码时,Sa (安全访问密钥)非常有用。它会杀死给定控制台上的所有程序,从而让您确保您看到的登录提示实际上是来自 init 的提示,而不是某些木马程序。其他人发现它作为(系统注意键)很有用,当您想退出不允许您切换控制台的程序时,它很有用。(例如,X 或 svgalib 程序。)
注意。
就其真实形式而言,它不像符合 c2 的系统中那样是真正的 SAK,因此不应将其误认为。
b当您无法关闭时,Re oot 很好。
笔记。
首先u安装通常被认为是一个好习惯
Crashdump 可用于c在系统挂起时手动触发Rashdump。
笔记。
内核需要在启用 CONFIG_KEXEC 的情况下构建!
当您的系统被锁定时,同步非常s有用,它允许您同步您的磁盘,并且肯定会减少数据丢失和 fscking 的机会。
警告
在您看到“确定”和“完成”出现在屏幕上之前,同步尚未发生。(如果内核真的处于冲突状态,您可能永远不会收到 OK 或 Done 消息。
Umount 基本上和Sync一样有用。
该记录级0-9当你的控制台被你不想看到内核信息淹没是有用的。选择0将阻止除最紧急的内核消息之外的所有消息到达您的控制台。
笔记。
如果 syslogd/klogd 还活着,它们仍然会被记录
T erm 和 k ill 如果您有某种无法以任何其他方式杀死的失控进程,特别是当它产生其他进程时,则很有用。
笔记。
当遇到糟糕的内核恐慌时,请执行Alt+ Sysrq+e然后Alt+ Sysrq+u然后Alt+ Sysrq+i最后Alt+ Sysrq+b
1.6 故障排除
1.6.1 在 initscripts 运行之前挂起
如果机器在 initscripts 运行之前挂起,请使用 sysrq_always_enabled=1
1.6.2 有时SysRq使用后好像卡住了,怎么办?
攻丝shift,alt以及control在键盘的两侧,并再次击中无效SysRq的顺序将解决这个问题。(即,像alt+ sysrq+ z)。
切换到另一个虚拟控制台(Ctrl+ Alt+ Fn1- Fn6)然后再次返回Ctrl+ Alt+Fn7也应该有所帮助。
1.6.3 我打了SysRq,但是好像什么都没发生,怎么了?
有些键盘会发送SysRq与预定义 0x54不同的扫描码。因此,如果SysRq某些键盘无法立即使用,请运行showkey -s以找出正确的扫描码序列。然后使用setkeycodes <sequence> 84将这个序列定义为通常的SysRq代码(84 是十进制的 0x54)。最好将此命令放在引导脚本中。
警告十秒钟内不输入任何内容就
退出showkey了。
1.6.4 我想给SysRq一个模块添加按键事件,它是如何工作的?
为了在表中注册基本函数,您必须首先包含 header include/linux/sysrq.h,这将定义您需要的所有其他内容。接下来,您必须创建一个 sysrq_key_op 结构,并使用...
您将使用的键处理函数。
help_msg 字符串,当 SysRQ 打印帮助时将打印
一个 action_msg 字符串,它将在您的处理程序被调用之前打印出来。您的处理程序必须符合“sysrq.h”中的原型
创建 sysrq_key_op 后,可以调用内核函数 register_sysrq_key(int key, struct sysrq_key_op *op_p); 如果表中的该插槽为空,这将在表键 'key' 处注册由 'op_p' 指向的操作。在模块卸载时,您必须调用函数 unregister_sysrq_key(int key, struct sysrq_key_op *op_p),它将从键 'key' 中删除 'op_p' 指向的键 op,当且仅当它当前已在该键中注册投币口。这是为了防止插槽在您注册后被覆盖。
MagicSysRq系统的工作原理是针对键操作查找表注册键操作,该表在“drivers/char/sysrq.c”中定义。该密钥表在编译时注册了许多操作,但它是可变的,并且导出了两个函数作为其接口的 register_sysrq_key 和 unregister_sysrq_key。当然,永远不要在表中留下无效指针。IE; 当调用 register_sysrq_key() 的模块退出时,它必须调用 unregister_sysrq_key() 来清理它使用的 sysrq 密钥表条目。
笔记。
表中的空指针总是安全的。
如果出于某种原因,您觉得需要从 handle_sysrq 调用的函数中调用 handle_sysrq 函数,那么您必须意识到您处于锁定状态(您也处于中断处理程序中,这意味着不要睡觉!),所以您必须改为调用 __handle_sysrq_nolock。
使用Alt+ SysRq+ S,然后U再B以同步,尝试重新安装所有安装的文件系统,然后重启如果需要的话。无需更改系统文件。
如果Alt+ SysRq+B不重新启动系统,它可能需要编辑/etc/sysctl.d/10-magic-sysrq.conf为了让应用的尝试Alt+ SysRq+ B(或/和O修改后的/ proc / sys目录/内核/ sysrq 位掩码以使用 sysrq 启用系统的重新启动和关闭。您可以通过上述任何方法执行此操作。
1.6.6 附录: 另见 - http://ubuntuforums.org/showthread.php?t=617349和https://www.kernel.org/doc/Documentation/sysrq.txt
对于那些在 sysrq 方面遇到 Apple MacBook 键盘问题的人,请参阅:https ://help.ubuntu.com/community/AppleKeyboard和https://bugs.launchpad.net/mactel-support/+bug/262408
相对有趣的信息 -在观看 17 08 2013 BBC 节目“点击”和“网络战争”文章后,我真的注意到了。该方案还拥有自己的网站点击,如果你不能收看节目。FAWC
| 归档时间: |
|
| 查看次数: |
47159 次 |
| 最近记录: |