shell中执行如下命令会导致操作系统崩溃:
echo c > /proc/sysrq-trigger
/proc/sysrq-trigger是一个只能写的文件,而且是只有root才有权限写。
# ll /proc/sysrq-trigger
--w------- 1 root root 0 Feb 24 10:58 /proc/sysrq-trigger
/proc/sysrq-trigger文件各参数含义介绍
立即重启计算机 echo "b" > /proc/sysrq-trigger
立即关闭计算机 echo "o" > /proc/sysrq-trigger
导出内存分配的信息 echo "m" > /proc/sysrq-trigger (Outputs memory statistics to the console 输出信息在/var/log/messages中查看)
导出当前CPU寄存器信息和标志位的信息 echo "p" > /proc/sysrq-trigger (outputs all flags and registers to the console 输出信息在/var/log/messages中查看)
导出线程状态信息 echo "t" > /proc/sysrq-trigger (outputs a list of processes to the console 输出信息在/var/log/messages中查看)
故意让系统崩溃 echo "c" > /proc/sysrq-trigger (crashes the system without first unmounting file systems or syncing disks attached to the system)
立即重新挂载所有的文件系统 echo "s" > /proc/sysrq-trigger (attempts to sync disks attached to the system)
立即重新挂载所有的文件系统为只读 echo "u" > /proc/sysrq-trigger (attempts to unmount and remount all file systems as read-only)
dump进入uninterrupted状态的任务的信息 echo "w" > /proc/sysrq-trigger (输出信息在/var/log/messages中查看)
此外,还有两个类似于强制注销的功能
e ---- kills all processes except init using SIGTERM
i ---- kills all processes except init using SIGKILL
sysrq.txt详见附件:
'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.
'v' - Dumps Voyager SMP processor 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 :-)