/proc/sysrq-trigger文件的功能

摘自:

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


Shell代码  
  1. 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

---- kills all processes except init using SIGKILL




你可能感兴趣的:(gdb调试,C/C++)