为什么不建议强制关机

如果长按电源按键强制关机,有可能损坏硬件或者丢失数据,甚至导致磁盘坏道!

其实, 大部分时候的死机是假死, 不是真死... 有时候鼠标还能动呢。

还有一个原因: 对于平时忠贞不二的电脑, 我们怎么可以用强制关机这么"家暴"的手段呢... 必须要温柔。

可尝试的解决方法

1. 进入TTY终端

  1. Ctrl+Alt+F1进入TTY1终端字符界面, 输入用户名和密码以登录

  2. 输入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>压根儿行不通!只会蹦出来一个屏幕截图窗口。所以,真正的做法应该是:

  1. 伸出你的左手,同时按住<Ctrl>+<Alt>键,别松开
  2. 右手先按一下<SysRq>,左手别松开,等1秒
  3. 右手按一下 R,左手别松开,等1秒
  4. 右手按一下 E,左手别松开。这时包括桌面在内,所有程序都会终止,你会看到一个黑乎乎的屏幕,稍微等一段时间
  5. 右手依次按下 I,S,U,B,左手别松开。每按一次都等那么几秒种,你会发现每按一次,屏幕上信息都会有所变化。最后按下B时,屏幕显示reset,这时你的左手可以松开了,等几秒钟,计算机就会安全重启。

➤➤ 记好了吧 ? 最好保存到手机的备忘录里, 这样下次Ubuntu挂掉还可以让它醒醒~ 让它见识一下来自"醒醒"的你的厉害!

作者:程序员联盟
链接:https://www.jianshu.com/p/36fb9eed82a3
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

Ubuntu死机解决方法汇总的更多相关文章

  1. Android Studio 模拟器启动问题——黑屏 死机 解决方法

    今天用了下Android Studio,出现了一些问题,现在将启动过程中遇到的问题和解决方案列出来,方便大家参考. 安装过程不多说,网上一搜一大把. 那直接说问题吧: 1. 无法启动,报错:Faile ...

  2. 微擎系统BUG漏洞解决方法汇总(原创)

    微擎微赞系统BUG漏洞解决方法汇总 弄了微擎系统来玩玩,发觉这个系统BUG还不少,阿里云的提醒都一大堆,主要是没有针对SQL注入做预防,处理的办法基本都是用转义函数. 汇总: 1. 漏洞名称: 微擎任 ...

  3. 编程中遇到的Python错误和解决方法汇总整理

    这篇文章主要介绍了自己编程中遇到的Python错误和解决方法汇总整理,本文收集整理了较多的案例,需要的朋友可以参考下   开个贴,用于记录平时经常碰到的Python的错误同时对导致错误的原因进行分析, ...

  4. 微擎系统BUG漏洞解决方法汇总

    微擎微赞系统BUG漏洞解决方法汇总 弄了微擎系统来玩玩,发觉这个系统BUG还不少,阿里云的提醒都一大堆,主要是没有针对SQL注入做预防,处理的办法基本都是用转义函数. 汇总: 1. 漏洞名称: 微擎任 ...

  5. ubuntu死机怎么办

    在使用ubuntu的时候由于各种复杂的因素,如软件不兼容,误操作等问题导致"死机"怎么办呢?下面我们来看看如何解决这问题...   可以打开终端模拟器   1 ctrl+alt+t ...

  6. Linux 操作系统死机故障处理方法总结

    通常在出现系统崩溃后,大家会担心再次出现故障,但是发现系统各日志中并没有记录到任何死机前后的信息,无法分析故障原因,认为已经无药可救.但是,实际上,Linux 有多种机制来保证发生系统崩溃后,可以获取 ...

  7. win服务器 文件上传下载出现“未指定的错误” 解决方法汇总

    环境 WIN平台IIS服务器   经常出现于ASPX页面 汇总 1.权限问题 出现场景 : 基于ACCESS数据库   原因解析 : 1.首先需要排除自身问题,例如建表使用关键字,格式错误,插入数据与 ...

  8. linux死机解决办法

    linux死机后不要长按电源建强制关机,容易对损坏系统配置或者电脑硬件,导致重启后产生不必要的麻烦 如果是在图形界面下死机的话,不要再依赖任何图形界面的工具,解决方法如下: 1.一种方式是进入终端界面 ...

  9. php-fpm死机解决办法,脚本后台自动重启

    本人用nginx+php7搭建了一台服务器,因为请求量太大,而且php里面又有挂起的任务,导致php-fpm在高峰期的时候经常死掉,吧php-fpm的最大进程数已经改到1000了,还是吃不消,cpu也 ...

随机推荐

  1. TCP Socket + UDP Socket

    小例子:http://soft.yesky.com/238/2035738.shtml 服务器程序: #include <iostream> #include <WinSock2.h ...

  2. 最新 美团java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.美团等10家互联网公司的校招Offer,因为某些自身原因最终选择了美团.6.7月主要是做系统复习.项目复盘.LeetCode ...

  3. OS选择题练习

    一.死锁 1.设系统中有n个进程并发,共同竞争资源X,且每个进程都需要m个X资源,为使该系统不会发生死锁,资源X的数量至少为() A.n*m+1 B.n*m+n C.n*m+1-n   D.无法预计 ...

  4. Python异常 --Python

    一.常见的异常类型 FileNotFoundError:找不到指定文件的异常 NameError:未声明或者未初始化对象 BaseException:所有异常的基类 二.异常处理语句 1.try... ...

  5. Jmeter BeanShell断言

    这篇文章用来记录编写beanshell断言遇到得问题. 问题1:JSONObject not found in namespace 流程:在beanshell下写代码如下: 1 String resp ...

  6. Error Retries and Exponential Backoff in AWS

    Error Retries and Exponential Backoff in AWS https://docs.aws.amazon.com/general/latest/gr/api-retri ...

  7. ASP.NET请求过程-Handler

    什么事Handler asp.net程序所有的请求都是handler处理的.以前的webform我们访问的地址是xxxxx.aspx地址,其实他也会到一个handler(我们写的业务代码都在handl ...

  8. Docker部署Gitlab11.10.4

    1.下载镜像 官方镜像地址:https://hub.docker.com/r/gitlab/gitlab-ce ,根据自己需要下载指定版本 [root@vanje-dev01 ~]# docker p ...

  9. QSqlDatabase

    QSqlDatabase  使用静态方法addDatabase来创建一个数据库连接. 如果你的程序中只有一个数据库连接,可以使用如下语句创建连接 QSqlDatabase db = QSqlDatab ...

  10. Java中将字符串用空格分割成字符串数组的split方法

    官方文档链接:public String[] split(String regex) 本文以空格作为分割串. CaseOne import java.util.Scanner; public clas ...