跳至內容

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」Enter,就可以了。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分割區進行的.但是在一次安裝大量應用程式時,最好不要進行其它操作,因為這是在根分割區中進行的。