從Linux終端管理進(jìn)程:10個(gè)你必須知道的命令
Linux終端有一系列有用的命令。它們可以顯示正在運(yùn)行的進(jìn)程、殺死進(jìn)程和改變進(jìn)程的優(yōu)先級(jí)。本文列舉了一些經(jīng)典傳統(tǒng)的命令和一些有用新穎的命令。本文提到的命令會(huì)實(shí)現(xiàn)某個(gè)單一功能。它們可以結(jié)合起來——這也是Unix設(shè)計(jì)程序的理念。其它命令,例如htop,會(huì)在命令的上層提供一個(gè)友好的界面供用戶使用。
top
top命令是一個(gè)常用的查看系統(tǒng)資源使用情況和查看占用系統(tǒng)資源最多的進(jìn)程的命令。top以列形式顯示所有的進(jìn)程,占最多CPU資源的進(jìn)程會(huì)顯示在最上面。
要退出top或者h(yuǎn)top,可以使用鍵盤快捷鍵Ctrl-C。這個(gè)鍵盤快捷鍵通常會(huì)終止目前在終端上運(yùn)行的進(jìn)程。
htop
htop命令是top的改進(jìn)版。默認(rèn)情況下,大多數(shù)Linux發(fā)行版本都沒有安裝htop——在Ubuntu系統(tǒng)上安裝可以運(yùn)行以下命令:
- sudo apt-get install htop
htop命令顯示的信息與top相同,但它的界面更人性化。你可以使用鍵盤箭頭鍵選擇進(jìn)程和采取某些動(dòng)作,例如殺死進(jìn)程或者改變它們的優(yōu)先級(jí)。
過去我們?cè)敿?xì)解釋過htop。
ps
ps命令可以列出正在運(yùn)行的進(jìn)程。以下命令列出所有在你系統(tǒng)上運(yùn)行的命令:
- ps -A
這個(gè)命令列出的信息也許太多,不方便閱讀。你可以使用less命令對(duì)輸出進(jìn)行管道,這樣你就可以按你的速度滾動(dòng)閱讀:
- ps -A | less
當(dāng)你閱讀完后,可以按q退出。
你也可以使用grep來對(duì)輸出做管道,這樣可以不需要使用其它命令就能搜索出某個(gè)進(jìn)程。以下命令會(huì)搜索Firefox進(jìn)程:
- ps -A | grep firefox
pstree
pstree命令也可以顯示進(jìn)程信息。它以樹的形式顯示進(jìn)程。例如,你的x系統(tǒng)和圖形環(huán)境會(huì)出現(xiàn)在產(chǎn)生樹狀進(jìn)程的顯示管理器的下面。
kill
kill命令可以根據(jù)進(jìn)程ID來殺死進(jìn)程。你可以使用ps -A,top,或者grep命令獲取到進(jìn)程ID。
- kill pid
從技術(shù)層面來講,kill命令可以發(fā)送任何信號(hào)給一個(gè)進(jìn)程。你可以使用kill -KILL或者kill -9來殺死頑固的進(jìn)程。
pgrep
給定一個(gè)搜索關(guān)鍵詞,pgrep命令會(huì)返回所有匹配這個(gè)關(guān)鍵詞的進(jìn)程ID。例如,你可以使用以下命令尋找Firefox的PID:
- pgrep firefox
你也可以將這個(gè)命令與kill命令結(jié)合起來殺死一個(gè)特定的進(jìn)程。但是,使用pkill或者killall會(huì)更簡(jiǎn)單。
pkill & killall
pkill和killall命令可以根據(jù)進(jìn)程的名字殺死一個(gè)進(jìn)程。使用以下任一方法都可以殺死Firefox進(jìn)程:
- pkill firefox
- killall firefox
renice
renice命令用來改變進(jìn)程的nice值。nice值代表進(jìn)程的優(yōu)先級(jí)。-19的nice值是非常高的優(yōu)先級(jí),相反,19是非常低的優(yōu)先級(jí)。0是默認(rèn)的優(yōu)先級(jí)。
運(yùn)行renice命令需要使用進(jìn)程的ID。以下命令可以讓某個(gè)進(jìn)程以非常低的優(yōu)先級(jí)運(yùn)行。
- renice 19 pid
你可以把pregrep和renice結(jié)合起來使用,如上圖所示。
如果你想把進(jìn)程的優(yōu)先級(jí)調(diào)高,那么你需要使用root權(quán)限。在Ubuntu系統(tǒng),使用sudo獲取root權(quán)限:
- sudo renice -19 #
xkill
xkill命令是一個(gè)可以輕易殺死圖形程度的命令。運(yùn)行它之后,你的光標(biāo)會(huì)變成x符號(hào)。點(diǎn)擊相應(yīng)的圖形程序的窗口就可以殺死該程序。如果你中途要放棄操作,你可以點(diǎn)擊鼠標(biāo)右鍵取消。
你不一定要在終端運(yùn)行這個(gè)命令——你可以在圖形桌面上按Alt-F2,輸入xkill然后按回車鍵來運(yùn)行它。我們已經(jīng)將xkill和熱鍵綁定,這樣殺死進(jìn)程就更容易了。
你有沒有一些喜愛的命令我們這里又沒有提及的,或者其它一些小技巧可以分享的?請(qǐng)留下你的評(píng)論。
原文鏈接: Chris Hoffman 翻譯: 極客范 - Ben Zhang
譯文鏈接: http://www.geekfan.net/7411/