强制重启Linux

       前段时间服务器出了问题,挂载iscsi的过程中貌似出了问题,<Ctrl>+C无法终止程序,kill,pkill,killall都没有效果骂人。实在是没办法了,想着干脆重启好了,结果reboot,没有响应……抓狂  服务器又托管在网络中心的,没办法直接关电源发火。后来从网上搜了两条命令,可以强制重启,在这里记录一下,以后遇到同样的问题就好解决了~得意

# echo 1 > /proc/sys/kernel/sysrq
# echo b > /proc/sysrq-trigger

1. /proc/sys/kernel/sysrq

       向sysrq文件中写入1是为了开启SysRq功能。根据linux/Documentations/sysrq.txt中所说:SysRq代表的是Magic System Request Key。开启了这个功能以后,只要内核没有挂掉,它就会响应你要求的任何操作。但是这需要内核支持(CONFIG_MAGIC_SYSRQ选项)。向/proc/sys/kernel/sysrq中写入0是关闭sysrq功能,写入1是开启,其他选项请参考sysrq.txt。需要注意的是,/proc/sys/kernel/sysrq中的值只影响键盘的操作。

       那么怎么使用SysRq键呢?

       在x86平台上,组合键”<ALT> + SysRq + <command key>“组成SysRq键以完成各种功能。但是,在一些键盘上可能没有SysRq键。SysRq键实际上就是”Print Screen“键。并且可能有些键盘不支持同时按三个按键,所以你可以”按住ALT键“,”按一下SysRq键“,再”按一下<command key>键“,如果你运气好的话,这个会有效果的。不过放心,现在的键盘一般都支持同时按3个或3个以上的键。

       <command key>有很多,这里只挑几个来说,其他的可以参考sysrq.txt文件。

  • 'b' —— 将会立即重启系统,并且不会管你有没有数据没有写回磁盘,也不卸载磁盘,而是完完全全的立即关机
  • 'o' —— 将会关机
  • 's' —— 将会同步所有以挂在的文件系统
  • 'u' —— 将会重新将所有的文件系统挂在为只读属性

2. /proc/sysrq-trigger

       从文件名字就可以看出来这两个是有关系的。写入/proc/sysrq-trigger中的字符其实就是sysrq.txt中说的<command key>键所对应的字符,其功能也和上述一样。


所以,这两行命令先开启SysRq功能,然后用'b'命令让计算机立刻重启。

你可能感兴趣的:(linux,服务器,kill,command,System,磁盘)