原文地址在此:
The "Magic Sysrequest key" is Alt (left or right Alt key) and Sysrq (up there under Print Screen, next to F12 on most keyboards). To use it, you need to have it enabled in your kernel (CONFIG_MAGIC_SYSRQ). It usually is; if you have a file called '/proc/sys/kernel/sysrq' you have this. To ENABLE the magic functions, you need a "1" in that file. If it has 0, Alt-SysRq just returns you to the previous console you were using.
You do NOT want this enabled on any machine that the public can walk up to. With this enabled, pressing Alt, SysRq and another key all at the same time can do things like immediately reboot the whole box - and all it takes is the keyboard, no login required. That's all three keys held down - don't release Alt-SysRq before pressing the other key (right, it's not supposed to be easy to do)
The capabilities should be documented in "man proc", but (at least on my system) are not. The "sysrq" is mentioned, but not documented. You can find documentation in /usr/src/linux-2.4.29/Documentation/sysrq.txt if you have source installed. This is from that file:
'r' - Turns off keyboard raw mode and sets it to XLATE.
'k' - Secure Access Key (SAK) Kills all programs on the current virtual
console. NOTE: See important comments below in SAK section.
'b' - Will immediately reboot the system without syncing or unmounting
your disks.
'o' - Will shut your system off (if configured and supported).
's' - Will attempt to sync all mounted filesystems.
'u' - Will attempt to remount all mounted filesystems read-only.
'p' - Will dump the current registers and flags to your console.
't' - Will dump a list of current tasks and their information to your
console.
'm' - Will dump current memory info to your console.
'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.)
'e' - Send a SIGTERM to all processes, except for init.
'i' - Send a SIGKILL to all processes, except for init.
'l' - Send a SIGKILL to all processes, INCLUDING init. (Your system
will be non-functional after this.)
'h' - Will display help ( actually any other key than those listed
above will display help. but 'h' is easy to remember :-)
The key is also self-documenting: doing Alt-Sysrq-h (or any other unrecognized key) prints out a HELP message that briefly reminds you of the above functions.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
后记: 我在 Ubuntu 14.04.3 LTS 上找了个kernel 代码来重新翻了下这个txt,内容变化不算大,我用的是3.13 版本的kernel 。
-
apt-get source linux-image-3.13.0-27-generic
-
updatedb
-
locate sysrq.txt
但是多了些内容。
-
You need to say "yes" to 'Magic SysRq key (CONFIG_MAGIC_SYSRQ)' when
-
configuring the kernel. When running a kernel with SysRq compiled in,
-
/proc/sys/kernel/sysrq controls the functions allowed to be invoked via
-
the SysRq key. The default value in this file is set by the
-
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE config symbol, which itself defaults
-
to 1. Here is the list of possible values in /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 = 0x2 - enable control of console logging level
-
4 = 0x4 - enable control of keyboard (SAK, unraw)
-
8 = 0x8 - enable debugging dumps of processes etc.
-
16 = 0x10 - enable sync command
-
32 = 0x20 - enable remount read-only
-
64 = 0x40 - enable signalling of processes (term, kill, oom-kill)
-
128 = 0x80 - allow reboot/poweroff
-
256 = 0x100 - allow nicing of all RT tasks
我这个Ubuntu的虚拟机是176,也即是enable了某一些特定的功能
-
cat /proc/sys/kernel/sysrq
-
176=128+32+16
-
128 = 0x80 - allow reboot/poweroff
-
32 = 0x20 - enable remount read-only
-
16 = 0x10 - enable sync command
阅读(1411) | 评论(0) | 转发(0) |