linux查看開啟檔案的命令–lsof

來源:互聯網
上載者:User

簡介:
lsof可以列出某個進程開啟的所有檔案資訊。開啟的檔案可能是普通的檔案,目錄,NFS檔案,塊檔案,字元檔案,共用庫,常規管道,明明管道,符號鏈 接,Socket流,網路Socket,UNIX域Socket,以及其它更多。因為Unix系統中幾乎所有東西都是檔案,你可以想象lsof該有多有用。

lsof的輸出:

FD 和 Type 列的含義最為模糊,它們提供了關於檔案如何使用的更多資訊。

FD 列表示檔案描述符,應用程式通過檔案描述符識別該檔案。Type 列提供了關於檔案格式的更多描述。
我們來具體研究一下檔案描述符列,上面出現了三種不同的值。cwd 值表示應用程式的當前工作目錄,這是該應用程式啟動的目錄,除非它本身對這個目錄變更。txt 類型的檔案是程式碼,如應用程式二進位檔案本身或共用庫,再比如本樣本的列表中顯示的 init 程式。最後,數值表示應用程式的檔案描述符,這是開啟該檔案時返回的一個整數。在最後一行中,您可以看到使用者正在使用 vim 編輯 /root/1.txt,其檔案描述符為 3。u 表示該檔案被開啟並處於讀取/寫入模式,而不是唯讀 (r) 或唯寫 (w) 模式。有一點不是很重要但卻很有協助,初始開啟每個應用程式時,都具有三個檔案描述符,從 0 到 2,分別表示標準輸入、輸出和錯誤流。正因為如此,大多數應用程式所開啟的檔案的 FD 都是從 3 開始。

與 FD 列相比,Type 列則比較直觀。根據具體作業系統的不同,您會發現將檔案和目錄稱為 REG 和 DIR(在 Solaris 中,稱為 VREG 和 VDIR)。其他可能的取值為 CHR 和 BLK,分別表示字元和塊裝置;或者 UNIX、FIFO 和 IPv4,分別表示 UNIX 域通訊端、先進先出 (FIFO) 隊列和網際協議 (IP) 通訊端。

用法:

列出有所開啟的檔案:#losf找出誰在使用檔案#lsof /root/.bashrc遞迴尋找某個目錄中所有開啟的檔案# lsof +D /usr/lib加上+D參數,lsof會對指定目錄進行遞迴尋找,注意這個參數要比grep版本慢# lsof | grep '/usr/lib'之所以慢是因為+D首先尋找所有的檔案,然後一次性輸出資料行出某個使用者代開的檔案#lsof -u root列出除root使用者外的所有使用者開啟的檔案# lsof -u ^root列出某個程式開啟的所有檔案#lsof -c httpd可以唯寫進程的頭幾個字母#lsof -c ht這就會列出以ht開頭的進程開啟的檔案列出某個pid對應的進程所開啟的檔案#lsof -p 489列出所有網路連接#lsof -ilsof的-i選項可以列出所有開啟了網路通訊端(TCP和UDP)的進程列出所有tcp網路連接#lsof -i tcp找出某個連接埠的進程#lsof -i :25找出某個tcp連接埠的進程#lsof -i tcp:80找到某個使用者的所有網路連接# lsof -a -u hacker -i-a參數可以將多個選項的組合條件由或變為與,使用-a將-u和-i選項組合可以讓lsof列出某個使用者的所有網路行為輸出使用某些資源的進程pid# lsof -t -i-t選項輸出進程的PID,你可以將它和-i選項組合輸出使用某個連接埠的進程的PID,下面的命令將會殺掉所有使用網路的進程:# kill -9 `lsof -t -i`迴圈列出檔案# lsof -r 1-r選項讓lsof可以迴圈列出檔案直到被中斷,參數1的意思是每秒鐘重複列印一次,這個選項最好同某個範圍比較小的查詢組合使用,比如用來監測網路活動:# lsof -r 1 -u john -i -a
來自:www.cszhi.com

聯繫我們

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