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相關的小作品。您可以透過編輯或修訂擴充其內容。 |