重啓服務器linux
1. # echo 1 > /proc/sys/kernel/sysrq 服務器
2. # echo b > /proc/sysrq-trigger reboot命令不起做用了試試這個,這個就相似與ctrl+alt-del 的重啓spa
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鍵呢?ci
在x86平臺上,組合鍵"<ALT> + SysRq + <command key>"組成SysRq鍵以完成各類功能。可是,在一些鍵盤上可能沒有SysRq鍵。SysRq鍵實際上就是"Print Screen"鍵。而且可能有些鍵盤不支持同時按三個按鍵,因此你能夠按住"ALT鍵",按一下"SysRq鍵",再按一下"<command key>鍵",若是你運氣好的話,這個會有效果的。不過放心,如今的鍵盤通常都支持同時按3個或3個以上的鍵。rem
<command key>有不少,這裏只挑幾個來講,其餘的能夠參考sysrq.txt文件。同步
-- 'b' —— 將會當即重啓系統,而且不會管你有沒有數據沒有寫回磁盤,也不卸載磁盤,而是完徹底全的當即關機it
-- 'o' —— 將會關機io
-- '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