Linux/結束異常程序

程序僵死

編輯

在linux中,如果有某一個程序卡死,可以打開系統監視器。在裡面結束這個程序,這個跟windows的任務管理器有點像。它在系統->系統管理->系統監視器。

但是,有些程序並不在那裡顯示.這時可以打開終端,輸入以下命令.

ps -e

這個命令可以列出所有正在運行的程序.例如

7868 ?        00:00:00 pppd
7905 ?        00:00:15 firefox
7934 ?        00:00:00 gnome-terminal
7937 ?        00:00:00 gnome-pty-helpe

找到你要殺死的程序,在對應行的第一列,是這個程序的PID,如果要殺死firefox,可以用下面命令

sudo kill 7905

7905就是PID號,當然要跟據實際改一下.

還有就是,同一個程序每次運行的PID是不一樣的.所以每次殺死一個程序前都得查PID號.

如果你已經知道進程名,你也可以直接運行killall命令。 如:

killall gnome-terminal

死機

編輯

在Linux中死機不是完全的死機,你仍然可以進入後端的命令行模式.按Ctrl+Alt+F1就會進入一個命令行,在這個命令行中你需要重新登陸一下,輸入你的用戶名,再輸密碼,登陸成功後,再用命令

ps -e

找出最後出問題程序的PID

sudo kill 7905

這個與上面介紹過的一樣.

但是命令行下,屏幕的顯示範圍有限,如果你要找的程序被擠到屏幕外去了,可以把輸出內容重定向到less或者more程序(less比more增加了向前回滾的功能,但不是每一個發行版都包含less)

ps -e | less

這樣就可以用鍵盤上的上下箭頭滾動屏幕了。

也可以將輸出重定向到一個文件:

ps -e > foo
vi foo

退出vi,先按Esc鍵,然後輸入「:q」回車,就可以了。vi是在命令行下的文本編輯器,具本可以看關於文本文檔的介紹。

在殺死程序後,要回到圖形界面按Ctrl+Alt+F7。

如果你有足夠的聯想能力和探索精神,可能會想試試其它的Ctrl+Alt+Fn,試試吧。


如果系統已經徹底死機到Ctrl+Alt+F1都無法打開的地步了,就請試試:

按住Alt+SysRq(SysRq在主鍵盤和小鍵盤中間一欄的按鍵內),然後一直保持着Alt鍵不放的情況下(SysRq鍵可以放開),依次按下REISUB六個鍵(分別表示:重置鍵盤、結束進程、強行殺死進程、同步硬盤的緩存數據、重新掛載硬盤為只讀模式、強行重啟)。這種方法被成為 Magic SysRq

EXT4格式造成的死機

編輯

EXT4格式是一種linux磁盤格式,應該說是一個不成熟的磁盤格式,所以在安裝ubutu的時候你會發現,EXT4排在EXT3的下面.

在EXT4格式磁盤裡,移動大量文件時會造成死機,而且這種死機是完全的死機,沒有解決方法,只能強行關機,但這樣會造成數據丟失.

但是網上介紹,EXT4格式在訪問速度方面還是有很大提高的.所以你如果你的home目錄在一個獨立的分區中的話,可以把根分區設為EXT4格式,把home分區設為EXT3格式.

因為日常的文件操作都是在home分區進行的.但是在一次安裝大量應用程序時,最好不要進行其它操作,因為這是在根分區中進行的。