作者 谢恩铭,公众号「程序员联盟」(微信号:coderhub)。
转载请注明出处。
原文:https://www.jianshu.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 老师,终生学习者。
热爱生活,喜欢游泳,略懂烹饪。
人生格言:「向着标杆直跑」