fuser (Unix)
Unix命令fuser用於顯示哪些行程正在使用給定的檔案、檔案系統或unix通訊端。例如,要檢視訪問USB驅動器的行程ID及其用戶:
$ fuser -m -u /mnt/usb1
/mnt/usb1: 1347c(root) 1348c(guido) 1349c(guido)
該命令顯示使用指定檔案或檔案系統行程的行程識別碼。在預設的顯示模式下,每個檔名後跟一個字母,表示訪問類型:
- c
- 當前目錄。
- e
- 正在執行的可執行檔案。
- f
- 打開的檔案。
- F
- 打開的寫入檔案。
- r
- 根目錄。
- m
- mmap的檔案或共用庫
該命令還可以用來檢查哪些行程正在使用網絡埠:
$ fuser -v -n tcp 80
USER PID ACCESS COMMAND
80/tcp: root 3067 F.... (root)httpd
apache 3096 F.... (apache)httpd
apache 3097 F.... (apache)httpd
如果沒有訪問任何檔案或發生致命錯誤,該命令將返回非零代碼。如果至少有一次訪問成功,則返回零。「fuser」的輸出可能有助於診斷嘗試解除安裝檔案系統時產生的「資源繁忙」訊息。
選項
- -k
- 殺死所有訪問檔案的行程。例如,fuser -k /path/to/your/filename會殺死所有訪問此目錄的行程而無需確認。使用-i在操作前進行確認
- -i
- 互動模式。殺死行程前提示
- -v
- 詳細模式
- -u
- 顯示用戶名
- -a
- 顯示所有檔案
- -m
- name指定已掛載的檔案系統或塊裝置上的檔案。列出所有訪問該檔案系統上檔案的行程。如果指定了目錄檔案,將自動更改為name/.,即是可能掛載在此目錄中的任何檔案系統。
另外,請注意-k將向行程傳送SIGKILL。使用-signal傳送不同的訊號。有關fuser支援的訊號列表,執行「fuser -l」。
相關命令
外部連結
這是一篇與Unix相關的小作品。您可以透過編輯或修訂擴充其內容。 |