作者 謝恩銘,公眾號「程序員聯盟」(微信號:coderhub)。
轉載請注明出處。
原文:http://www.lxweimin.com/p/36fb9eed82a3
之前的親測 | Ubuntu 16.04升級中, 介紹了Ubuntu 16.04的些許好處。
比如不像15.04那么常死機。結果今天就"打臉"了... 早上在公司用著好好的電腦突然死機了, 貌似是開啟Android Studio 2.1.3的那一瞬間, 我暈... Android Studio 2.1.3, 我very地hate你啊...
因為不太清楚怎么解決死機, 我按下電源鍵, 強制關機了...
事后感覺不應該如此"粗暴"地對待我們的電腦兄, 畢竟它平時任勞任怨, 隨叫隨到。所以專門去網上搜集了一些Ubuntu死機的解決方案。
為什么不建議強制關機
如果長按電源按鍵強制關機,有可能損壞硬件或者丟失數據,甚至導致磁盤壞道!
其實, 大部分時候的死機是假死, 不是真死... 有時候鼠標還能動呢。
還有一個原因: 對于平時忠貞不二的電腦, 我們怎么可以用強制關機這么"家暴"的手段呢... 必須要溫柔。
可嘗試的解決方法
1. 進入TTY終端
Ctrl+Alt+F1進入TTY1終端字符界面, 輸入用戶名和密碼以登錄
輸入top命令, 找到可能造成假死的進程, 用kill命令結束掉進程。然后Ctrl+Alt+F7回到桌面
2. 直接注銷用戶
Ctrl+Alt+F1進入TTY1終端字符界面, 輸入用戶名和密碼以登錄。
然后執行以下的任意一個命令注銷桌面重新登錄。
sudo pkill Xorg
或者
sudo restart lightdm
3. 底層方法
如果上面兩種方法不成功, 那有可能是比較底層的軟件出現問題。
可以試試 :** reisub 方法**。
說具體一點, 是一種系統請求, 直接交給內核處理。
鍵盤上一般都有一個鍵SysRq, 和PrintScreen(截屏)在一個鍵位上,這就是系統請求的鍵。
這個方法可以在死機的情況下安全地重啟計算機, 數據不會丟失。
下面解釋一下這個方法:
其實 SysRq是一種叫做系統請求的東西, 按住 Alt-Print 的時候就相當于按住了SysRq鍵,這個時候輸入的一切都會直接由 Linux 內核來處理,它可以進行許多低級操作。
這個時候 reisub 中的每一個字母都是一個獨立操作,分別表示:
r : unRaw 將鍵盤控制從 X Server 那里搶回來
e : tErminate 給所有進程發送 SIGTERM 信號,讓它們自己解決善后
i : kIll 給所有進程發送 SIGKILL 信號,強制他們馬上關閉
s : Sync 將所有數據同步至磁盤
u : Unmount 將所有分區掛載為只讀模式
b : reBoot 重啟
魔法鍵組合 reisub 究竟該怎么用?
如果某一天你的 Linux 死機了,鍵盤不聽使喚了,Ctrl+Alt+F1 已經沒有任何反應,該怎么辦呢?
使用“魔法鍵”:Alt+SysRq + r,e,i,s,u,b(確實很好背,就是單詞 busier (英語"更忙"的意思)的倒寫)。
好的,平時電腦那么正常,你自然也不會去按這些按鈕。等到真的出事的時候,你把記在小紙條上的這些 tips 拿出來,然后在鍵盤上按,結果發現啥反應也沒有,于是只能欲哭無淚了。
問題在于:究竟該怎么按這些按鈕才會有效?
首先,你的系統要支持這個功能,查看和開啟的方法大家應該很熟悉了,網上也有很多說明,而且最幸運的是:Ubuntu 默認已經開啟了這個功能。
接下來就是操作:馬上你就會發現,同時按下<Alt>+<SysRq>壓根兒行不通!只會蹦出來一個屏幕截圖窗口。所以,真正的做法應該是:
- 伸出你的左手,同時按住<Ctrl>+<Alt>鍵,別松開
- 右手先按一下<SysRq>,左手別松開,等1秒
- 右手按一下 R,左手別松開,等1秒
- 右手按一下 E,左手別松開。這時包括桌面在內,所有程序都會終止,你會看到一個黑乎乎的屏幕,稍微等一段時間
- 右手依次按下 I,S,U,B,左手別松開。每按一次都等那么幾秒種,你會發現每按一次,屏幕上信息都會有所變化。最后按下B時,屏幕顯示reset,這時你的左手可以松開了,等幾秒鐘,計算機就會安全重啟。
?? 記好了吧 ? 最好保存到手機的備忘錄里, 這樣下次Ubuntu掛掉還可以讓它醒醒~ 讓它見識一下來自"醒醒"的你的厲害!
如果您知道其他好方法, 歡迎在留言區給我們留言, 讓更多讀者看到, 謝謝!
我是 謝恩銘,公眾號「程序員聯盟」(微信號:coderhub)運營者,慕課網精英講師 Oscar 老師,終生學習者。
熱愛生活,喜歡游泳,略懂烹飪。
人生格言:「向著標桿直跑」