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