记一次Linux死机经历

昨天,我的小白贝壳机死机了。表现为log out打算换用户时屏幕黑掉就不亮了,但并不是关掉,只是变黑。所有手段都没有任何响应,cirl+alt+F* 换控制台换不了,cirl+alt+del也没用, 按什么键都没反应,最后alt+sysqr aeisub成功重启掉。

如果键盘信号能达到内核,这么做是按电源之外的最后手段,但是和windows不一样,这么做是不伤害任何硬件和软件的,为什么呢,因为它的原理是这样:

reisub 中的每一个字母都是一个独立操作,他们分别表示:
unRaw 将键盘控制从 X Server 那里抢回来
tErminate 给所有进程发送 SIGTERM 信号,让他们自己解决善后
kIll 给所有进程发送 SIGKILL 信号,强制他们马上关闭
Sync 将所有数据同步至磁盘
Unmount 将所有分区挂载为只读模式
reBoot 重启

如果ctrl+alt+f1还有响应,直接切换到第一控制台,登录后输入命令重启即可。从这个例子可以看出,即使ctrl+alt+f1没有响应,还是有几率reisub重启。可能因为reisub直接由内核处理,不涉及任何第三方进程

怎么判断有无反应呢,最简单的方法,试一试就行了,我体会由于按下每一个键后计算机需要做一些事,因此每按一个键都要等一会,但按下第二个键硬盘就会响一会儿,至于为什么不知道。这就说明起作用了,按下最后一个键后计算机重启,我想任何人都能看出重启的样子把。

需要注意的是reisub这个重启方法不是所有机器都开启的,开启的方法自己去搜。但是我用过的大型发行版都默认开启。

那么reisub是不是万能的呢?很显然不是。我的i7笔记本装linux睡眠后唤醒死掉,这时表现为屏幕全黑,根本没接电的全黑,键盘完全无响应,除了电源键亮着以外和关掉的机子无二,但是风扇却全速转动,证明cpu高负债,很可能是死循环了。既然键盘都无响应了,reisub也无从谈起。我估计这时候可能是由于ati的驱动导致的。但是如果机器在硬件上没有什么兼容性问题,再跑了几个月之后突然出现这样的死机,我认为是不太可能的,除非你把它泡在鱼缸里。

那么linux是否稳定呢,作为一个长时间用家,我的答案是no,且不提用户图形界面上那些叫人抓狂的小瑕疵(比如切换输入法时界面突然花一下这样的),我常常在自动黑屏后唤醒时拼命敲键盘屏幕还停留在半黑屏的状态,这个很难形容,切换到控制台再切回来就好了,隔三差五还出个程序崩溃啥的,这时候一般崩的都是缩略图生成服务。最让人orz的是emacs居然还崩过一次(延伸:Emacs是什么?说说我认为的这个黑客专用文本编辑器)。

平心而论linux自身是及其稳定的,所以这个世界上的服务器和各政府的超级电脑几乎都使用linux操作系统,但是服务器用不到图形界面,而linux的图形驱动只能用狗血来形容。大名鼎鼎的林纳斯先生,linux发明者曾经在公开演讲上对nvidia竖起中指说”fuck you”。我想这是我们所有linuxer的心声,泥马的ati和nvidia。我使用linux这么长时间大小bug无数,几乎都是x界面下的,真正死掉只有这一次,但我会继续使用linux,去你妈的微软,打死也不装windows8