fuser 能快速找出正在存取特定檔案、目錄、Socket 埠口、檔案系統的進程,**並可直接發送信號終止它們**,比 lsof 更適合「查詢+清理」一體化操作。本文詳細說明參數、輸出解讀、實戰場景與信號控制。

fuser [選項] 檔案|目錄|埠口|檔案系統
| 參數 | 功能 |
|---|---|
-v | 詳細模式:顯示 PID、用戶、存取類型、指令 |
-k | 殺死存取進程 (預設 SIGKILL) |
-i | 互動模式:殺死前逐一確認 |
-s | 靜默模式:不輸出資訊,僅回傳退出碼 |
-m | 指定檔案系統掛載點 (等同直接給掛載點) |
-n space | 指定名稱空間:file (預設)、tcp/udp 埠口 |
-signal | 指定信號 (如 -TERM, -HUP),預設 -KILL |
$ fuser -v /root
USER PID ACCESS COMMAND
/root root 1234 ...c bash
| ACCESS 字元 | 含義 | |
|---|---|---|
c | 當前工作目錄 (cwd) | |
e | 可執行檔 (exe) | |
f | 開啟的檔案 (預設不顯示) | |
F | 開啟且寫入的檔案 (預設不顯示) | |
r | 根目錄 (chroot) | |
m | 記憶體映射檔案/共享庫 |
| 特性 | fuser | lsof |
|---|---|---|
| 查詢速度 | 極快 (核心介面) | 較慢 (掃描 /proc) |
| 殺死進程 | 內建 -k 一鍵完成 | 需配合 kill 手動處理 |
| 資訊豐富度 | 基本 (PID, 用戶, 存取類型, 指令) | 極詳盡 (FD, 偏移量, 節點, 連線狀態...) |
| 埠口查詢 | 支援 -n tcp/udp | 支援 -i :port 更直觀 |
| 適用場景 | 快速清理、umount 前檢查 | 深度除錯、取證分析 |
fuser: command not found → sudo apt-get install psmisc (Debian/Ubuntu) 或 sudo yum install psmisc (RHEL/CentOS)-n 指定掌握 fuser -v 查詢與 fuser -k 清理,讓「裝置忙碌無法卸載」、「埠口被佔用無法啟動」等常見運維難題迎刃而解。