目錄
linux 進程
如果你要查看 Linux 伺服器上所有正在執行的進程並發現哪些進程消耗您的資源最多?在本文中,我們將解釋如何使用幾個常見的 Linux 命令列出進程。
Linux 進程介紹
進程(process):進程是程式在一個資料集合上的一次執行過程,在早期的UNIX、Linux 2.4及更早的版本中,它是系統進行資源分配和調度的獨立基本單位。。它們可以在打開應用程式或通過命令行終端發出命令時啟動。但是,一個應用程式可以為不同的任務執行多個進程。例如,每次打開新標籤時,谷歌瀏覽器都會啟動不同的進程。
進程可以作為前台或後台進程啟動。每個 Linux 進程都被分配了一個唯一的PID(進程標識號)。
有時,進程可能會消耗大量資源,需要被殺死。或者,有時您可能想要更改進程的優先級,因此系統將為其分配更多資源。無論如何,所有這些任務都要求您做同樣的事情:列出 Linux 上正在執行的進程。
如何列出 Linux 正在執行的進程?
如果您想要列出 Linux 正在執行中的進程,可以使用以下三個指令之一:ps、top或htop。
ps 指令命令列出的是當前那些進程的快照,而 top 和 htop 按 CPU 使用率動態排序。
現在讓我們深入了解它們每一個使用方式。
使用 ps 命令
ps(進程狀態)指令是生成所有正在執行進程的快照。因此,與 Windows 任務管理器不同,結果是靜態的。
當這個指令在沒有任何參數或選項的情況下使用時,它將返回一個正在運行的進程列表以及四個關鍵提示:
PID、終端名稱(TTY)、執行時間(TIME)和啟動命令的名稱進程(CMD)。
您可以使用ps aux獲取有關正在執行進程的更深入資訊。
以下是每個參數說明:
- a:輸出系統的所有執行進程。
- u:提供附加資訊,例如 RAM 和 CPU 使用百分比、進程狀態代碼和進程所有者。
- x:列出所有未從終端執行的進程。例如守護進程,它們是系統啟動時在後台執行與系統相關的進程。
如果要在分層視圖中列出 Linux 進程,請使用 ps -axjf 命令。在這種格式下,shell 會將子進程置於父進程之下。
除了這兩個選項之外,下面是列出 Linux 正在執行的進程的 ps 命令其他常見範例:
- ps -u [username]:列出某個用戶的所有正在執行的進程。
- ps -e或ps -A:以通用 UNIX 的格式顯示活動的 Linux 進程。
- ps -T:列出從終端執行的活動進程。
- ps -C :process_name將按進程名稱過濾列表。此外,該命令還顯示指定進程的所有子進程。
使用 top 命令
top 指令是用於查看資源密集執行進程。這個指令會按 CPU 使用率在列表進行排序,因此消耗資源最多的進程將被置於頂部。檢查特定進程是否正在執行也很有用。
請記住,以下的”快捷鍵”有分大小寫,因此請確保不要啟用大寫鎖定。
快捷鍵 | 功能說明 |
k | 刪除(kill)一個進程。 |
M | 依 RAM 使用情況對列表進行排序。 |
N | 依 PID 對列表進行排序。 |
r | 更改進程的優先級。 |
h | 顯示幫助窗口。 |
z | 以顏色顯示正在運行的進程。 |
d | 更改刷新時間間隔。 |
c | 顯示進程的絕對路徑。 |
CTRL+C or q | 停止 top 指令。 |
使用 htop 命令
htop 和 top 命令都是在列出 Linux 進程時顯示相同資訊,但小編比較喜歡使用htop,因為 htop 的介面比教親民友善與直覺,讓此用者非常容易一目了然。
首先,htop 命令允許您垂直和水平滾動。因此,您可以看到 Linux 進程完整列表以及它們的完整指令行。
最讓小編喜歡的是 htop 可以讓使用者使用鼠標選定項目、殺死刪除進程而不插入其 PID、輕鬆更改多個進程的優先級等等。
當然最大的不便之處是大部分 Linux 發行版都沒有把這個命令作為基本指令,所以你另行安裝 htop 這指令。
如果您使用 CentOS7 / Fedora / AlmaLinux / Rocky Linux,則可以通過執行以下指令來安裝 htop:
yum install htop -y
如果您使用 Debian / Ubuntu,則可以通過執行以下指令來安裝 htop:
sudo apt-get install htop
安裝後,輸入 htop,您便看到 Linux 進程的列表。如下方圖示:
當然 htop 也有幾個快捷鍵方便管理,這些快捷鍵就在 htop 畫面下方有 F1 ~ F9,我們就來簡單說明每個快捷鍵功能:
快捷鍵 | 功能說明 |
F1 | 顯示幫助Menu。. |
F2 | 打開 htop 設置。 |
F3 | 搜尋一個進程。 |
F4 | 依名稱過濾進程。 |
F5 | 在樹狀視圖中顯示進程。 |
F6 | 依列對進程進行排序。 |
F7 | 降低進程的優先級。 |
F8 | 增加進程的優先級。 |
F9 | 殺死(刪除)一個進程。 |
結論
了解如何列出 Linux 操作系統中所有正在執行的進程非常重要。當您需要管理流程或是找出木馬時,這些知識將很有用。
經由介紹後你會喜歡這三個命令中的哪一個?在下面的評論分享您的想法!
掌握其他 Linux 命令
如何在 Linux 中管理 Sudo 用戶
如何在 Linux 中終止進程
如何利用 Ping 指令測試連接
如何使用 Dig 指令進行 DNS 查詢
如何在 Linux 中列出伺服器服務
如何在 Linux 中更改用戶密碼