Linux : lsof 命令

來源:互聯網
上載者:User

標籤:

lsof即list open files的縮寫,在Linux和其他Unix上都由,Mac XOS上也是

查看開啟檔案/目錄及對應進程
COMMAND        進程命令列字串PID            進程IDUSER           使用者FD             txt(進程的程式檔案), cwd(進程所在的當前目前), mem(),                FDIDuwr 進程內該檔案的開啟表示符id, 其後的字母表示操作模式TYPE           REG(一般檔案), DIR(目錄), CHR(字元裝置檔案),FIFO(管道),IPv4(IPv4網路通訊端)DEVICESIZE/OFFNODENAME           檔案路徑

範例輸出:

COMMAND     PID   TID       USER   FD      TYPE             DEVICE SIZE/OFF       NODE NAMEinit          1             root  cwd       DIR                8,1     4096          2 /init          1             root  rtd       DIR                8,1     4096          2 /init          1             root  txt       REG                8,1   265848    2621507 /sbin/initinit          1             root  mem       REG                8,1    47712    3149879 /lib/x86_64-linux-gnu/libnss_files-2.19.so

查看某個檔案/目錄的使用進程,直接在命令後跟檔案/目錄名即可:

# lsof server_timeCOMMAND     PID USER  FD   TYPE DEVICE SIZE/OFF    NODE NAMEserver_ti 20999  hgf txt    REG    8,1     9190 1442691 ./server_time
# lsof /home/hgf/netCOMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF    NODE NAMEbash      10075  hgf  cwd    DIR    8,1     4096 1442896 /home/hgf/netbash      15706  hgf  cwd    DIR    8,1     4096 1442896 /home/hgf/netbash      18324  hgf  cwd    DIR    8,1     4096 1442896 /home/hgf/netbash      18573  hgf  cwd    DIR    8,1     4096 1442896 /home/hgf/netsudo      20730 root  cwd    DIR    8,1     4096 1442896 /home/hgf/netsu        20740 root  cwd    DIR    8,1     4096 1442896 /home/hgf/netbash      20741 root  cwd    DIR    8,1     4096 1442896 /home/hgf/netserver_ti 20999  hgf  cwd    DIR    8,1     4096 1442896 /home/hgf/netlsof      21814 root  cwd    DIR    8,1     4096 1442896 /home/hgf/netlsof      21815 root  cwd    DIR    8,1     4096 1442896 /home/hgf/net
查看已刪除檔案

這裡的已刪除檔案指的是檔案被某些進程開啟,但磁碟上該檔案已經被刪除了(目錄列出的結果上來看)。這些檔案實際還是存在於磁碟上,可以通過使用lsof來找出這些檔案

# lsof|grep deletedinit          1             root   10w      REG                8,1      969    2360289 /var/log/upstart/systemd-logind.log.1 (deleted)init          1             root   27w      REG                8,1     1406    2360292 /var/log/upstart/modemmanager.log.1 (deleted)
...
......server_ti
20999 hgf txt REG 8,1 9190 1442691 /home/hgf/net/server_time (deleted)

此時我們可以從/proc檔案系統中在對應的PID目錄下複製出程式的檔案,

[email protected]:/proc/20999# lltotal 0dr-xr-xr-x   9 hgf  hgf  0 May  7 10:56 ./dr-xr-xr-x 262 root root 0 Feb  5 00:26 ../dr-xr-xr-x   2 hgf  hgf  0 May  7 11:09 attr/-rw-r--r--   1 hgf  hgf  0 May  7 11:09 autogroup-r--------   1 hgf  hgf  0 May  7 11:09 auxv-r--r--r--   1 hgf  hgf  0 May  7 11:09 cgroup--w-------   1 hgf  hgf  0 May  7 11:09 clear_refs-r--r--r--   1 hgf  hgf  0 May  7 11:09 cmdline-rw-r--r--   1 hgf  hgf  0 May  7 11:09 comm-rw-r--r--   1 hgf  hgf  0 May  7 11:09 coredump_filter-r--r--r--   1 hgf  hgf  0 May  7 11:09 cpusetlrwxrwxrwx   1 hgf  hgf  0 May  7 10:56 cwd -> /home/hgf/net/-r--------   1 hgf  hgf  0 May  7 11:09 environlrwxrwxrwx   1 hgf  hgf  0 May  7 10:56 exe -> /home/hgf/net/server_time (deleted)dr-x------   2 hgf  hgf  0 May  7 10:56 fd/...[email protected]:/proc/20999# cp exe ~/

 

如果是程式開啟的一個檔案而不是程式本身,則可以在fd目錄中找到對應的描述符編號

 

Linux : lsof 命令

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.