摘自:
1.http://blog.csdn.net/choice_jj/article/details/7965676
2.http://yueyemaitian.iteye.com/blog/1938533
3.http://blog.csdn.net/jemofh159/article/details/8695045
- sudo sh -c 'echo w > /proc/sysrq-trigger' ; dmesg
不解,查了下:
dmesg 用来显示系统启动时候的系统信息的,这对系统管理员或者排查问题的时候很重要,参考鸟哥的解释和更详细的资料
sh -c是用sh执行命令
当然,最重要的还是echo w > /proc/sysrq-trigger,查了只知道proc/sysrq-trigger是一个神奇的文件,用echo写一些System Request Key上去,就可以像操作本地计算机一样操纵远程计算机。w呢就是将进入uninterrupted状态的任务的信息dump出来,结果在/var/log/messages里边,输入类似于:
echo ttyS0 > /sys/module/kgdboc/parameters/kgdboc 如果成功, 可以在/var/log/message里看到 kernel: kgdb: Registered I/O driver kgdboc 然后 echo g > /proc/sysrq-trigger 系统会中断,进入假死状态,等待远程gdb的连接.KGDB可能会输出如下信息: 直到远程GDB连接后并发送continue命令后才退出假死状态。立即重启计算机 echo "b" > /proc/sysrq-trigger
SysRq: GDB
立即关闭计算机 echo "o" > /proc/sysrq-trigger
导出内存分配的信息 echo "m" > proc/sysrq-trigger (可以用/var/log/message查看)Outputs memory statistics to the console
导出当前CPU寄存器信息和标志位的信息 echo "p" > proc/sysrq-trigger (outputs all flags and registers to the console)
导出线程状态信息 echo "t" > proc/sysrq-trigger (outputs a list of processes to the console)
故意让系统崩溃 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)
此外,还有两个类似于强制注销的功能
e ---- kills all processes except init using SIGTERM
i ---- kills all processes except init using SIGKILL