linux程式調試之工具篇(一):lsof 快速起步

來源:互聯網
上載者:User
 

lsof 快速起步

 

 

查看對某個檔案的使用方式

查看哪些進程對某個檔案進行了調用:

$ lsof /etc/passwd

 

查看對檔案系統的使用

/tmp目錄被垃圾檔案塞滿了, 但是, 用ls 又看不到太大檔案, 誰乾的?

$ lsof /tmp

尋找開啟,但是不能串連的檔案

一個進程開啟一個檔案, 然後將其設為 unlinked 狀態, 則此檔案資源仍能被進程使用, 但是其訪問路徑已經被刪除了. 因此, 使用ls不能將其列出. 只有當進程結束時, 才能釋放檔案佔用的資源

尋找unlinked 檔案, 選項 +L, 作用: 列出開啟檔案的串連數

$lsof +L

指定串連數的上限 $lsof +L1

同時指定檔案系統, 則需要使用 -a(AND) 選項

$ lsof -a +L1 /home

無法卸載

查看誰令mount的分區無法卸載

$ lsof <file_system_name>

查看監聽socket

查看網路服務

$ lsof -i

查看某個網路連接

$ lsof -i@aaa.bbb.ccc

$ lsof -iTCP@aaa.bbb.ccc:ftp-data *指定協議*

$ lsof -i4 *指定IP版本*

$ lsof -i6

識別 Netstat 串連

例如: netstat -p -t -n 的輸出為:

Proto Recv-Q Send-Q Local Address Foreign Address State

tcp 0 0 218.56.203.246:52634 202.109.72.72:7000 ESTABLISHED

則可以: tony@tony:~$ lsof -iTCP@202.109.72.72:7000

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME

xchat 4505 tony 12u IPv4 5775 TCP 218.56.203.246:52634->202.109.72.72:afs3-fileserver (ESTABLISHED)

尋找針對某個命令開啟的檔案

使用命令的PID

$ lsof -p <PID>

使用命令名稱

$ lsof -c <first_characters_of_command_name_that_interest_you>

$ lsof -c sendmail

查看誰在使用裝置檔案

$ lsof /dev/hda6

查看某個使用者的操作

$ id -u tony

1000

$ lsof -u1000 or $ lsof -utony

$ lsof -u^tony * 則是取反的意思*  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.