
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 拿出来,然后在键盘上按,结果发现啥反应也没有,于是只能欲哭无泪了。
1、/proc/sys/kernel/ctrl-alt-del该文件有一个二进制值,该值控制系统在接收到ctrl+alt+delete按键组合时如何反应。这两个值分别是:零(0)值,表示捕获ctrl+alt+delete2、proc/sys/kernel/msgmax该文件指定了从一个进程发送到另一个进程的消息的最大长度(bytes)。进程间的消息传递是在内核的内存中进行的,不会交换到磁盘上,所以如果增加该值,则将增加 *** 作系统所使用的内存3、/proc/sys/kernel/msgmnb该文件指定一个消息队列的最大长度(bytes)。缺省设置:16384。4、/proc/sys/kernel/msgmni该文件指定消息队列标识的。根据Linux内核文档介绍:这是一组'魔术组合键',只要内核没有被完全锁住,不管内核在做什么事情,使用这些组合键可以立即打印出内核的信息。使用sysrq组合键是了解系统目前运行情况的最好方式。如果系统出现挂起的情况或者在诊断一些和内核相关,比较怪异,比较难重现的问题的时候,使用sysrq键是一个比较好的方式。如何打开和关闭SysRq组合键?为了安全起见,在红帽企业版Linux里面,默认SysRq组合键是关闭的。
共享内存就是使得多个进程可以访问同一块内存空间,是最快的可用IPC形式。是针对其他通信机制运行效率较低而设计的。往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥。其他进程能把同一段共享内存段“连接到”他们自己的地址空间里去。所有进程都能访问共享内存中的地址。如果一个进程向这段共享内存写了数据,所做的改动会即时被有访问同一段共享内存的其他进程看到。共享内存的使用大大降低了在大规模数据处理过程中内存的消耗,但是共享内存的使用中有很多的陷阱,一不注意就很容易导致程序崩溃。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)