原文链接:https://blog.csdn.net/openswc/article/details/9105071
不建议长按 Power 按键强制关机,有可能损坏硬件或者丢失数据,甚至导致磁盘坏道!
通常套路是 Ctrl +Alt +F7 (F8) 切换到某个 tty,然后用 root 登陆,执行 top 查看吃资源最多的程序,然后使用 pkill/kill/killall 等命令杀死该程序。或使用组合键 Ctrl +Alt + Backspace重启 X (黑日白月注:这个快捷键组合在最新的 Ubuntu 和 Fedora 中关闭)。
如果偶遇切换 tty 失败或者没响应,可以试着使用 SSH 登陆此电脑,然后再杀死程序。也许只是 X 不响应,而内核和 SSH daemon 仍然工作,故此可以实施此法。
如果是在图形界面下死机的话,不要再依赖任何图形界面的工具,那样只会适得其反,可以先试试文字界面,按ctrl+alt+f2(F1-F6一般都可以),会切换到另外一个虚拟终端,需要一个账号来登入,这时键盘响应可能非常慢,但是是可以响应的,进入后打top命令看一下进程,等这个表刷那么一两次,就可以确定占用资源比较大的进程了,把它kill掉,这样可以解决相当一部分问题。但是有的时候是比较底层的软件出现问题,那这个方法就不适用了,但是这就引出了这篇文章要说的强强的方法。reisub方法,说具体一点,是一种系统请求,直接交给内核处理。键盘上一般都有一个键,SysRq,和PrintScreen在一个键位上,这就是系统请求的键。这个方法可以在死机的情况下安全的重启计算机,数据不会丢失。 具体操作是,按住Alt+SysRq,再依次按下reisub几个键,按完b系统就会重启。下面解释一下这个方法:其实 Sys Rq 是一种叫做系统请求的东西,按住 Alt-Print 的时候就相当于按住了 Sys Rq 键,这个时候输入的一切都会直接由 Linux 内核来处理,它可以进行许多低级操作。这个时候 reisub 中的每一个字母都是一个独立操作,他们分别表示: unRaw 将键盘控制从 X Server 那里抢回来 tErminate 给所有进程发送 SIGTERM 信号,让他们自己解决善后 kIll 给所有进程发送 SIGKILL 信号,强制他们马上关闭 Sync 将所有数据同步至磁盘 Unmount 将所有分区挂载为只读模式 reBoot 重启
这里有个问题要注意一下,最好不要快速连续地按下这几个键,要有间隔,大概是估计每个间隔10秒左右,因为每一步操作都需要时间,而且s键之后因为同步数据比较慢,可以停20秒。魔法键reisub究竟该怎么用?
如果某一天你的 Linux 死机了,键盘不听使唤了,Ctrl+Alt+F1已经没有任何反应,该怎么办呢?想必你一定听说过“魔法键”:Alt+SysRq+r,e,i,s,u,b(确实很好背,就是单词 busier 的倒写)。好的,平时电脑那么正常,你自然也不会去按这些按钮。等到真的出事的时候,你把记在小纸条上的这些 tips 拿出来,然后在键盘上按,结果发现啥反应也没有,于是只能欲哭无泪了…… 问题在于:究竟该怎么按这些按钮才会有效? 首先,你的系统要支持这个功能,查看和开启的方法大家应该很熟悉了,网上也有很多说明,而且最幸运的是:Ubuntu 默认已经开启了这个功能。 接下来就是操作:马上你就会发现,同时按下