怎样从Linux终端管理进程:10个你必须知道的命令
Linux終端有一系列有用的命令。它們可以顯示正在運(yùn)行的進(jìn)程、殺死進(jìn)程和改變進(jìn)程的優(yōu)先級(jí)。本文列舉了一些經(jīng)典傳統(tǒng)的命令和一些有用新穎的命令。本文提到的命令會(huì)實(shí)現(xiàn)某個(gè)單一功能。它們可以結(jié)合起來(lái)——這也是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ā)行版本都沒(méi)有安裝htop——在Ubuntu系統(tǒng)上安裝可以運(yùn)行以下命令:
sudo apt-get install htop| 1 | sudo apt-get install htop |
htop命令顯示的信息與top相同,但它的界面更人性化。你可以使用鍵盤箭頭鍵選擇進(jìn)程和采取某些動(dòng)作,例如殺死進(jìn)程或者改變它們的優(yōu)先級(jí)。
過(guò)去我們?cè)敿?xì)解釋過(guò)htop。
ps
ps命令可以列出正在運(yùn)行的進(jìn)程。以下命令列出所有在你系統(tǒng)上運(yùn)行的命令:
ps -A| 1 | ps -A |
這個(gè)命令列出的信息也許太多,不方便閱讀。你可以使用less命令對(duì)輸出進(jìn)行管道,這樣你就可以按你的速度滾動(dòng)閱讀:
ps -A | less| 1 | ps -A | less |
當(dāng)你閱讀完后,可以按q退出。
你也可以使用grep來(lái)對(duì)輸出做管道,這樣可以不需要使用其它命令就能搜索出某個(gè)進(jìn)程。以下命令會(huì)搜索Firefox進(jìn)程:
ps -A | grep firefox| 1 | ps -A | grep firefox |
pstree
pstree命令也可以顯示進(jìn)程信息。它以樹(shù)的形式顯示進(jìn)程。例如,你的x系統(tǒng)和圖形環(huán)境會(huì)出現(xiàn)在產(chǎn)生樹(shù)狀進(jìn)程的顯示管理器的下面。
kill
kill命令可以根據(jù)進(jìn)程ID來(lái)殺死進(jìn)程。你可以使用ps -A,top,或者grep命令獲取到進(jìn)程ID。
kill pid| 1 | kill pid |
從技術(shù)層面來(lái)講,kill命令可以發(fā)送任何信號(hào)給一個(gè)進(jìn)程。你可以使用kill -KILL或者kill -9來(lái)殺死頑固的進(jìn)程。
pgrep
給定一個(gè)搜索關(guān)鍵詞,pgrep命令會(huì)返回所有匹配這個(gè)關(guān)鍵詞的進(jìn)程ID。例如,你可以使用以下命令尋找Firefox的PID:
pgrep firefox| 1 | pgrep firefox |
你也可以將這個(gè)命令與kill命令結(jié)合起來(lái)殺死一個(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| 1 2 | pkill firefox killall firefox |
renice
renice命令用來(lái)改變進(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)行。
| 1 | renice 19 pid |
你可以把pregrep和renice結(jié)合起來(lái)使用,如上圖所示。
如果你想把進(jìn)程的優(yōu)先級(jí)調(diào)高,那么你需要使用root權(quán)限。在Ubuntu系統(tǒng),使用sudo獲取root權(quán)限:
| 1 | 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然后按回車鍵來(lái)運(yùn)行它。我們已經(jīng)將xkill和熱鍵綁定,這樣殺死進(jìn)程就更容易了。
你有沒(méi)有一些喜愛(ài)的命令我們這里又沒(méi)有提及的,或者其它一些小技巧可以分享的?請(qǐng)留下你的評(píng)論。
總結(jié)
以上是生活随笔為你收集整理的怎样从Linux终端管理进程:10个你必须知道的命令的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: c/c++经典面试试题及标准答案
- 下一篇: linux 其他常用命令