怎樣使用lsofhtml
這裏主要用案例的形式來介紹lsof 命令的使用mysql
1.列出全部打開的文件:sql
lsofapache
備註: 若是不加任何參數,就會打開全部被打開的文件,建議加上一下參數來具體定位網絡
2. 查看誰正在使用某個文件dom
lsof /filepath/filesocket
3.遞歸查看某個目錄的文件信息tcp
lsof +D /filepath/filepath2/ide
備註: 使用了+D,對應目錄下的全部子目錄和文件都會被列出ui
4. 比使用+D選項,遍歷查看某個目錄的全部文件信息 的方法
lsof | grep ‘/filepath/filepath2/’
5. 列出某個用戶打開的文件信息
lsof -u username
備註: -u 選項,u實際上是user的縮寫
6. 列出某個程序所打開的文件信息
lsof -c mysql
備註: -c 選項將會列出全部以mysql開頭的程序的文件,其實你也能夠寫成lsof | grep mysql,可是第一種方法明顯比第二種方法要少打幾個字符了
7. 列出多個程序多打開的文件信息
lsof -c mysql -c apache
8. 列出某個用戶以及某個程序所打開的文件信息
lsof -u test -c mysql
9. 列出除了某個用戶外的被打開的文件信息
lsof -u ^root
備註:^這個符號在用戶名以前,將會把是root用戶打開的進程不讓顯示
10. 經過某個進程號顯示該進行打開的文件
lsof -p 1
11. 列出多個進程號對應的文件信息
lsof -p 123,456,789
12. 列出除了某個進程號,其餘進程號所打開的文件信息
lsof -p ^1
13 . 列出全部的網絡鏈接
lsof -i
14. 列出全部tcp 網絡鏈接信息
lsof -i tcp
15. 列出全部udp網絡鏈接信息
lsof -i udp
16. 列出誰在使用某個端口
lsof -i :3306
17. 列出誰在使用某個特定的udp端口
lsof -i udp:55
特定的tcp端口
lsof -i tcp:80
18. 列出某個用戶的全部活躍的網絡端口
lsof -a -u test -i
19. 列出全部網絡文件系統
lsof -N
20.域名socket文件
lsof -u
21.某個用戶組所打開的文件信息
lsof -g 5555
22. 根據文件描述列出對應的文件信息
lsof -d description(like 2)
23. 根據文件描述範圍列出文件信息
lsof -d 2-3
實用命令
lsof `which httpd` //那個進程在使用apache的可執行文件
lsof /etc/passwd //那個進程在佔用/etc/passwd
lsof /dev/hda6 //那個進程在佔用hda6 lsof /dev/cdrom //那個進程在佔用光驅
lsof -c sendmail //查看sendmail進程的文件使用狀況
lsof -c courier -u ^zahn //顯示出那些文件被以courier打頭的進程打開,可是並不屬於用戶zahn
lsof -p 30297 //顯示那些文件被pid爲30297的進程打開
lsof -D /tmp 顯示全部在/tmp文件夾中打開的instance和文件的進程。可是symbol文件並不在列
lsof -u1000 //查看uid是100的用戶的進程的文件使用狀況
lsof -utony //查看用戶tony的進程的文件使用狀況
lsof -u^tony //查看不是用戶tony的進程的文件使用狀況(^是取反的意思)
lsof -i //顯示全部打開的端口 lsof -i:80 //顯示全部打開80端口的進程
lsof -i -U //顯示全部打開的端口和UNIX domain文件
lsof -i UDP@[url]www.akadia.com:123 //顯示那些進程打開了到www.akadia.com的UDP的123(ntp)端口的連接
lsof -i tcp@ohaha.ks.edu.tw:ftp -r //不斷查看目前ftp鏈接的狀況(-r,lsof會永遠不斷的執行,直到收到中斷信號,+r,lsof會一直執行,直到沒有檔案被顯示,缺省是15s刷新)
lsof -i tcp@ohaha.ks.edu.tw:ftp -n //lsof -n 不將IP轉換爲hostname,缺省是不加上-n參數
本文出自https://www.cnblogs.com/sparkbj/p/7161669.html