CodeGym /Adesua ahorow /Docker SELF /系統進程管理:ps, top, htop

系統進程管理:ps, top, htop

Docker SELF
等級 2 , 課堂 4
開放

系統進程管理: ps, top, htop

1. 指令 ps — 查看進程的靜態快照

如果 Linux 是一家餐館,那進程就是廚房裡的主廚。這是一個可執行的程式實例,存在於內存中。當你從命令列運行應用程式或執行文件時,就會產生一個進程,這個進程會執行其任務直到結束。

從編程的角度來看,進程是由 Linux 核心管理的,每個進程都有一個唯一的標識符 — PID (Process ID)。

指令 ps (process status) 是一個基本指令,用於查看進程列表。它可以給出當前系統進程的靜態快照。使用 ps,可以查詢正在運行的進程的資訊,例如它們的 ID、擁有者、命令列和使用的資源。

基本語法

以下是基本指令:

ps

這會顯示當前終端中運行的進程。

但這樣看起來很無聊!來點有趣的:

ps aux

這裡:

  • a — 顯示其他用戶的進程。
  • u — 增加一個更易讀的格式。
  • x — 包括未關聯終端的進程。

輸出範例:

USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.1  22556  1044 ?        Ss   12:34   0:01 /sbin/init
student      2345  0.1  0.2  34567  2048 pts/0    S+   12:35   0:02 bash
student      4567  0.3  0.5  56789  5144 pts/0    R+   12:36   0:03 ps aux
  • USER: 運行進程的用戶。
  • PID: 進程的標識符。
  • %CPU: CPU 使用百分比。
  • %MEM: 記憶體使用百分比。
  • COMMAND: 出發進程的命令。

高級選項

  1. 查看進程的樹狀結構:

    ps -ejH
    

    這有助於了解哪些進程是其他進程的 "子進程"。

  2. 按 PID 過濾:

    ps -p 1234
    

    其中 1234 是你的 PID。只顯示指定進程。

  3. 列出所有進程以及完整的命令列:

    ps -ef
    

2. 指令 top — 動態監控進程

top 就像進程的電視機一樣。你可以觀察進程如何即時變化。如果你正在運行伺服器或你的電腦開始「卡頓」,top 是你最好的朋友。通過它,你可以看到哪些進程佔用最多的 CPU 和記憶體。

使用基礎

只需在終端中輸入:

top

範例輸出:

  • 頂部顯示系統「負載」。
  • 中間部分展示任務資訊(總數、活動、休眠、殭屍)。
  • 底部是關於記憶體的資訊。
  • 最下方是一個進程列表,其中有許多有用的資訊,包括 PID、USER、%CPU 和 COMMAND。

top 中導航

  • k 鍵來結束一個進程。輸入 PID。
  • P 鍵以 CPU 排序進程。
  • M 鍵以記憶體使用率排序進程。
  • q 鍵退出。

3. 工具 htop — 方便的介面

如果你覺得 top 太「原始」,歡迎使用 htop。這是一個用於監控進程的視覺化介面。它是彩色的,支援滑鼠操作,而且容易理解。

安裝

如果你的系統沒有安裝 htop,可以執行下面的命令安裝:

sudo apt-get install htop # 適用於基於 Debian 的發行版
sudo yum install htop     # 適用於基於 RedHat 的發行版

啟動

要啟動 htop,只需輸入:

htop

介面範例:

htop 的優點:

  • 支援滾動進程列表。
  • CPU、記憶體、swap 的顏色高亮顯示。
  • 方便的鍵盤操作終止進程(例如,F9)。

4. 實作任務

任務 1: 找出最"貪心"的程序

  • 打開 tophtop
  • 按 CPU 排序程序,找到它的 PID。

任務 2: 終止程序

  • 使用 kill 來結束程序:
    kill <PID>
    

任務 3: 程序分析

  • 使用 ps 分析程序的 PID:
    ps -p <PID> -o pid,user,%cpu,%mem,cmd
    

陷阱和建議

  1. 如果不確定程序是否對系統運作至關重要,不要終止它。例如,PID 為 1 的程序是 init,這是操作系統的核心。
  2. htop 工具需要額外安裝,如果無法啟動,請檢查是否已安裝。
  3. 注意權限問題。結束其他用戶啟動的程序可能需要管理員權限。

實際操作中,你會發現這些工具讓管理 Linux 的工作變得無比靈活且直觀。現在你就是程序的大老闆了!

留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION