linux死机了怎么办?
曾經(jīng)啊,對著鍵盤上 Print Screen/SysRq 的鍵琢磨許久,也不知道所謂 SysRq 到底是做什么用的。自從用了 linux,才算知道是給內(nèi)核傳遞信息,緊急情況下重啟系統(tǒng)用的。
因為在 windows 的時候,從來沒有用到過這個按鍵,所以我也就一直忽略掉了它的存在。直到有一天一個 flash 視頻全屏后,x 崩潰,不要說進 tty 殺 gnome,就是按下 numberlock 都要反應好一會熄滅…… 幸好我有 SysRq 這個終極武器 ,順利重啟系統(tǒng),避免了當前數(shù)據(jù)的丟失。
當您遇到死機或者沒有響應的時候,甚至連 tty 都進不去,可以嘗試用 SysRq 重啟計算機。
警告:SysRq 不是萬金油,不能解決任何疑難雜癥。它只是您的最后武器,不到萬不得已不可使用!因為一旦使用,系統(tǒng)將重啟,當前工作的數(shù)據(jù)可能丟失!
使用 SysRq 重啟計算機的方法:
Alt + SysRq + [R-E-I-S-U-B]
——臺式機鍵盤或者全尺寸鍵盤
Fn + Alt + SysRq + [R-E-I-S-U-B]
——部分筆記本鍵盤
解釋:括號內(nèi)的英文字母需要依次順序按下,而且每次按下字母后需要間隔 5-10s 再執(zhí)行下一個動作。(如 alter +SysRq + R,間隔10s 后再按 alter+ SysRq +E,以此類推)切記不可快速按下 R-E-I-S-U-B ,否則后果和 扣電池拔電源線無異!
字母順序的記憶方法很簡單,busy — busier — (reverse) — reisub — R-E-I-S-U-B (想來也是 linus 那斯杰作吧,lol)
下面詳細講解一下各個序列:
unRaw – 把鍵盤設置為 ASCII 模式,使按鍵可以穿透 x server 捕捉傳遞給內(nèi)核
tErminate – 向除 init 外進程發(fā)送 SIGTERM 信號,讓其自行結束
kIll - 向除 init 以外所有進程發(fā)送 SIGKILL 信號,強制結束進程
Sync – 同步緩沖區(qū)數(shù)據(jù)到硬盤,避免數(shù)據(jù)丟失
Unmount – 將所有已經(jīng)掛載的文件系統(tǒng) 重新掛載為只讀
reBoot - 立即重啟計算機
可以從順序中看出,它不僅僅是殺掉進程這么簡單,而且還有同步數(shù)據(jù)等操作,所以在每個操作結束前進行下一個操作是非常危險的。所以,R-E-I-S-U-B 這個序列的推薦使用方式是:R – 1 秒 – E – 30 秒 – I – 10 秒 – S – 5 秒 – U – 5 秒 – B,而不是一氣呵成地按下這六個鍵,試想一次正常的 reboot 命令也不是在一瞬間完成的吧。
?
https://www.deleak.com/blog/2010/10/20/sysrq/?
順便翻一下其他按鍵的作用:
0-9 設定終端輸出的內(nèi)核 log 優(yōu)先級
b 立即重啟系統(tǒng)
c 內(nèi)核live reboot,并輸出錯誤信息
d 顯示所有排它鎖
e 向除 init 外進程發(fā)送 SIGTERM 信號,讓其自行結束
f 人為觸發(fā) OOM Killer (out of memory)
g 當進入內(nèi)核模式時,以 framebuttter 代替輸出
h 輸出幫助
i 向除 init 以外所有進程發(fā)送 SIGKILL 信號,強制結束進程
k 結束與當前控制臺相關的全部進程
m 內(nèi)存使用信息
n 重置所有進程的 nice(優(yōu)先級)
o 關機
p 輸出cpu 寄存器信息
q Display all active high-resolution timers and clock sources.
r 把鍵盤設置為 ASCII 模式,使按鍵可以穿透 x server 捕捉傳遞給內(nèi)核
s 同步緩沖區(qū)數(shù)據(jù)到硬盤
t 輸出進程列表
u 重新掛載所有文件系統(tǒng)為只讀模式
v 輸出 Voyager SMP 處理信息
w 輸出 block(d狀態(tài))進程列表
組合使用效果更好~
我的嘗試:
某次按照順序執(zhí)行 r-e-i-s-u-b 時候,忽然想到,既然 i 已經(jīng)殺死了所有進程,那么僵死進程也必定被 kill 了,只要不是內(nèi)核掛掉,應該都是可以恢復的。然后嘗試進入tty1,成功。遂輸入命令欲啟動 gnome,成功。但是在 gnome 登陸界面,鼠標鍵盤均無法使用……
后來想明白了,應該是把 hal,udev 什么的都 kill 掉了,所以 x-server 無法接受輸入設備信息,當然無法使用鍵鼠了……我的嘗試也到此為止,希望有人能驗證是不是因為 hal ,udev 被 kill而導致 gnome 輸入無響應。
參考文獻:
linuxtoy
wikipedia
kbd_mode
IBM developerWorks(R)
轉載于:https://www.cnblogs.com/kuangxiangjie/archive/2010/11/25/1887192.html
總結
以上是生活随笔為你收集整理的linux死机了怎么办?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 修改注册表给windows防火墙添加例外
- 下一篇: 30天敏捷结果(19):你在为谁做事?