重啓服務器linux
向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鍵呢?ide
在x86平臺上,組合鍵」<ALT> + SysRq + <command key>「組成SysRq鍵以完成各類功能。可是,在一些鍵盤上可能沒有SysRq鍵。SysRq鍵實際上就是」Print Screen「鍵。而且可能有些鍵盤不支持同時按三個按鍵,因此你能夠」按住ALT鍵「,」按一下SysRq鍵「,再」按一下<command key>鍵「,若是你運氣好的話,這個會有效果的。不過放心,如今的鍵盤通常都支持同時按3個或3個以上的鍵。spa
<command key>有不少,這裏只挑幾個來講,其餘的能夠參考sysrq.txt文件。線程
從文件名字就能夠看出來這兩個是有關係的。寫入/proc/sysrq-trigger中的字符其實就是sysrq.txt中說的<command key>鍵所對應的字符,其功能也和上述同樣。orm
因此,這兩行命令先開啓SysRq功能,而後用'b'命令讓計算機馬上重啓。內存
/proc/sysrq-trigger該文件能作些什麼事情呢?
# 當即從新啓動計算機 (Reboots the kernel without first unmounting file systems or syncing disks attached to the system)
echo "b" > /proc/sysrq-triggerci
# 當即關閉計算機(shuts off the system)
echo "o" > /proc/sysrq-triggerrem
# 導出內存分配的信息 (能夠用/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