在Linux系統中,進程(Process)是程序運行時的實例,就像一個正在執行的“任務”。管理進程可以幫助我們查看系統中哪些程序在運行、監控資源佔用情況,以及在程序異常時終止它們。對於新手來說,掌握幾個核心的進程管理命令,能快速解決日常遇到的問題。

一、查看進程:ps 命令

作用ps 是最基礎的進程查看工具,能列出當前系統中運行的進程狀態。
基本用法:直接輸入 ps 或帶參數,常用組合是 ps -auxps -efa 顯示所有用戶進程,u 顯示詳細用戶信息,x 顯示無終端的進程;e 顯示所有進程,f 顯示完整格式)。

示例
輸入 ps -aux,會看到類似以下輸出(簡化版):

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1  19560  1164 ?        Ss   10:00   0:00 /sbin/init
root         2  0.0  0.0      0     0 ?        S    10:00   0:00 [kthreadd]
...

關鍵列解釋
- PID:進程ID(唯一標識,後續操作的“身份證號”);
- USER:運行進程的用戶;
- %CPU/%MEM:CPU和內存佔用率;
- STAT:進程狀態(R=運行、S=睡眠、Z=殭屍進程等);
- COMMAND:啓動進程的命令。

二、即時監控進程:top 命令

作用topps 更強大,能動態即時更新進程信息,適合監控系統負載和資源變化。
基本用法:直接輸入 top,界面會自動刷新(默認3秒一次)。

常用操作
- 按 P:按CPU使用率從高到低排序;
- 按 M:按內存使用率從高到低排序;
- 按 k:終止進程(輸入目標PID,按回車);
- 按 q:退出 top

注意top 會持續運行,按 q 退出,不要直接關閉終端窗口(否則進程可能繼續佔用資源)。

三、終止進程:killkillall

作用:當程序卡死或異常時,需要終止進程。kill 通過PID終止,killall 通過進程名終止。

1. kill 命令

  • 用法kill [信號] PID(信號默認是15,正常終止;9=強制終止)。
  • 示例
  # 先通過ps找到目標進程PID,比如“firefox”的PID是1234
  ps -aux | grep firefox  
  # 終止進程(先嚐試正常終止)
  kill 1234  
  # 若進程無響應,強制終止
  kill -9 1234  
  • 注意-9 是“硬終止”,可能導致數據丟失(如未保存的文件),僅在程序無響應時使用。

2. killall 命令

  • 用法killall [信號] 進程名(直接按名稱終止,無需找PID)。
  • 示例
  # 終止所有名爲“firefox”的進程
  killall -9 firefox  
  • 優勢:適合知道進程名但記不住PID的場景,比逐個 kill 更高效。

四、進程樹狀圖:pstree

作用:以樹狀圖顯示進程的父子關係,直觀展示程序的層級結構。
基本用法:直接輸入 pstree,或加參數 p(顯示PID)、a(顯示完整路徑)。

示例

pstree -ap  
# 輸出類似:
systemd(1)───sshd(1234)───bash(5678)───pstree(9012)

優勢:快速理解程序之間的依賴關係(如 bashpstree 的父進程)。

五、後臺作業管理:jobsbgfg

場景:在終端運行程序時,不想一直佔用前臺(如編譯代碼、下載大文件)。

1. jobs 命令

  • 作用:查看後臺暫停的作業(用 Ctrl+Z 暫停的任務)。

2. bgfg

  • bg:將後臺暫停的作業恢復爲運行狀態(bg %作業號,作業號在 jobs 中顯示)。
  • fg:將後臺作業調回前臺運行(fg %作業號)。

示例

# 啓動一個長時間任務(如編譯),後臺運行
make -j8 &  
# 若中途想暫停,按 Ctrl+Z,終端顯示:[1]+  Stopped                 make -j8  
# 查看後臺作業:jobs  
# 恢復後臺運行:bg 1  
# 調回前臺:fg 1  

新手注意事項

  1. 不要終止系統關鍵進程:如 initsystemdsshd 等,否則系統可能崩潰。
  2. 確認PID再操作:用 pspgrep(按名查PID)確認進程PID,避免誤殺。
  3. 普通用戶權限:普通用戶只能終止自己啓動的進程,終止其他用戶進程需 sudoroot 權限。

掌握以上命令,就能應對Linux系統中90%的進程管理場景。日常工作中,ps 查進程、top 監控資源、kill 終止異常進程是最核心的組合。遇到問題時,可通過 man 命令 查看詳細手冊(如 man ps),多練習就能熟練使用!

小夜