Unix/命令/裝置指南
外觀
fuser 會告訴你哪個程序正在使用指示的檔案系統物件(普通檔案、裝置等)。
$ fuser /dev/dsp /dev/dsp: 8369
連結
lsof 列出所有開啟的檔案,比 fuser 更詳細。
例子
$ lsof /dev/dsp COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME mplayer 8406 alex 7w CHR 14,3 389 /dev/sound/dsp
提示
使用 -i 4 選項將報告當前正在使用 IPv4 網路的所有程式,這對於觀察訪問網路和網際網路資源的程式很有用。
$ lsof -i 4 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME btdownloa 2618 arky 3u IPv4 9524 TCP *:6886 (LISTEN) btdownloa 2618 arky 6u IPv4 9544 TCP dsl-KK-229.53.101.203.ttel.net:1539->cpc1-leed3-3-0-cust10.ldst.cable.ntl.com:59074 (ESTABLISHED)
連結
fstat 列出所有開啟的檔案。
前兩個命令 (fuser 和 lsof) 並非所有系統都存在。4.3BSD-Tahoe 系統引入了在許多 *BSD 系統上都可以找到的 "fstat" 命令。與前兩個命令不同,它似乎不知道每個檔案的準確路徑,只知道它位於哪個檔案系統?
一些選項是
-p PROCESSID show open files of this process -u USERNAME show open files of this user
示例:列出每個使用者(包括 root!)開啟的所有檔案。將其管道輸出到分頁程式。
$ fstat | less
獲取正在執行的 Bourne shell 的程序 ID,然後列出它開啟的檔案。
$ echo $$ 5283 $ fstat -p 5283 USER CMD PID FD MOUNT INUM MODE R/W DV|SZ ...
init 程序的 ID 始終為 1。列出它開啟的檔案。在本例中,它只在 / 檔案系統上的某個地方打開了一個檔案。
$ fstat -v -p 1 USER CMD PID FD MOUNT INUM MODE R/W DV|SZ root init 1 wd / 2 drwxr-xr-x r 512
連結
- fstat, freebsd.org