我是靠谱客的博主 端庄鼠标,最近开发中收集的这篇文章主要介绍sysrq 和 sysrq-trigger,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

为什么80%的码农都做不了架构师?>>>   hot3.png

重启服务器


1.     # echo 1 > /proc/sys/kernel/sysrq  

2.     # echo b > /proc/sysrq-trigger                 reboot命令不起作用了试试这个,这个就类似与ctrl+alt-del 的重启


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中说的键所对应的字符,其功能也和上述一样。

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


/proc/sysrq-trigger该文件能做些什么事情呢?

 

# 立即重新启动计算机 (Reboots the kernel without first unmounting file systems or syncing disks attached to the system)


echo "b" > /proc/sysrq-trigger


# 立即关闭计算机(shuts off the system)


echo "o" > /proc/sysrq-trigger


# 导出内存分配的信息 (可以用/var/log/message 查看)(Outputs memory statistics to the console) 


echo "m" > /proc/sysrq-trigger


# 导出当前CPU寄存器信息和标志位的信息(Outputs all flags and registers to the console)


echo "p" > /proc/sysrq-trigger


# 导出线程状态信息 (Outputs a list of processes to the console)


echo "t" > /proc/sysrq-trigger


# 故意让系统崩溃 ( Crashes the system without first unmounting file systems or syncing disks attached to the system)


echo "c" > /proc/sysrq-trigger


# 立即重新挂载所有的文件系统 (Attempts to sync disks attached to the system)


echo "s" > /proc/sysrq-trigger


# 立即重新挂载所有的文件系统为只读 (Attempts to unmount and remount all file systems as read-only)


echo "u" > /proc/sysrq-trigger


此外还有两个,类似于强制注销的功能


e — Kills all processes except init using SIGTERM


i — Kills all processes except init using SIGKILL


转载于:https://my.oschina.net/jastme/blog/380506

最后

以上就是端庄鼠标为你收集整理的sysrq 和 sysrq-trigger的全部内容,希望文章能够帮你解决sysrq 和 sysrq-trigger所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部