{"id":212,"date":"2011-06-18T17:06:52","date_gmt":"2011-06-18T09:06:52","guid":{"rendered":"http:\/\/www.ipcpu.com\/?p=212"},"modified":"2011-06-18T17:06:52","modified_gmt":"2011-06-18T09:06:52","slug":"linux-study-lsof","status":"publish","type":"post","link":"https:\/\/c.ipcpu.com\/2011\/06\/linux-study-lsof\/","title":{"rendered":"Linux\u4e2d\u7684lsof"},"content":{"rendered":"

[lsof - list open files]<\/p>\n

Lsof\u662f\u9075\u4eceUnix\u54f2\u5b66\u7684\u5178\u8303\uff0c\u5b83\u53ea\u505a\u4e00\u4ef6\u4e8b\u60c5\uff0c\u5e76\u4e14\u505a\u7684\u76f8\u5f53\u5b8c\u7f8e\u2014\u2014\u5b83\u53ef\u4ee5\u5217\u51fa\u67d0\u4e2a\u8fdb\u7a0b\u6253\u5f00\u7684\u6240\u6709\u6587\u4ef6\u4fe1\u606f\u3002<\/p>\n

\u5982\u4f55\u4f7f\u7528lsof<\/strong><\/span><\/p>\n

\u8fd9\u7bc7\u6587\u7ae0\u4e2d\u6211\u4f1a\u5c3d\u529b\u5217\u4e3e\u6211\u80fd\u60f3\u5230\u7684\u6240\u6709lsof\u7684\u7528\u6cd5\uff0c\u8ba9\u6211\u4eec\u5148\u4ece\u6700\u7b80\u5355\u7684\u5f00\u59cb\uff08\u6216\u8bb8\u4f60\u5df2\u7ecf\u77e5\u9053\u4e86\uff09\uff0c<\/p>\n

\u7136\u540e\u9010\u6e10\u589e\u52a0\u590d\u6742\u5ea6\uff1a<\/p>\n

\u5217\u51fa\u6240\u6709\u8fdb\u7a0b\u6253\u5f00\u7684\u6240\u6709\u6587\u4ef6<\/strong><\/p>\n

# lsof<\/p>\n

\u4e0d\u5e26\u4efb\u4f55\u53c2\u6570\u8fd0\u884clsof\u4f1a\u5217\u51fa\u6240\u6709\u8fdb\u7a0b\u6253\u5f00\u7684\u6240\u6709\u6587\u4ef6\u3002<\/p>\n

\u627e\u51fa\u8c01\u5728\u4f7f\u7528\u67d0\u4e2a\u6587\u4ef6<\/strong><\/p>\n

# lsof \/path\/to\/file
\n\u53ea\u9700\u8981\u6267\u884c\u6587\u4ef6\u7684\u8def\u5f84\uff0clsof\u5c31\u4f1a\u5217\u51fa\u6240\u6709\u4f7f\u7528\u8fd9\u4e2a\u6587\u4ef6\u7684\u8fdb\u7a0b\uff0c\u4f60\u4e5f\u53ef\u4ee5\u5217\u51fa\u591a\u4e2a\u6587\u4ef6\uff0clsof\u4f1a\u5217\u51fa\u6240\u6709\u4f7f\u7528\u8fd9\u4e9b\u6587\u4ef6\u7684\u8fdb\u7a0b\u3002<\/p>\n

[root@s0 ~]# lsof | grep mm.txt
\nvim 2406 ipcpu 4u REG 3,3 4096 4593356 \/home\/wss8849\/.mm.txt.swp
\n[root@s0 ~]#<\/p>\n

\u5217\u51fa\u67d0\u4e2a\u7528\u6237\u6253\u5f00\u7684\u6240\u6709\u6587\u4ef6<\/strong><\/p>\n

# lsof -u pkrumins<\/p>\n

-u\u9009\u9879\u9650\u5b9a\u53ea\u5217\u51fa\u6240\u6709\u88ab\u7528\u6237pkrumins\u6253\u5f00\u7684\u6587\u4ef6\uff0c\u4f60\u53ef\u4ee5\u901a\u8fc7\u9017\u53f7\u6307\u5b9a\u591a\u4e2a\u7528\u6237\uff1a<\/p>\n

# lsof -u rms,root<\/p>\n

\u8fd9\u6761\u547d\u4ee4\u4f1a\u5217\u51fa\u6240\u6709rms\u548croot\u7528\u6237\u6253\u5f00\u7684\u6587\u4ef6\u3002<\/p>\n

\u4f60\u4e5f\u53ef\u4ee5\u50cf\u4e0b\u9762\u8fd9\u6837\u4f7f\u7528\u591a\u4e2a-u\u505a\u540c\u6837\u7684\u4e8b\u60c5\uff1a<\/p>\n

# lsof -u rms -u root<\/p>\n

\u67e5\u627e\u67d0\u4e2a\u7a0b\u5e8f\u6253\u5f00\u7684\u6240\u6709\u6587\u4ef6<\/strong><\/p>\n

# lsof -c apache<\/p>\n

-c\u9009\u9879\u9650\u5b9a\u53ea\u5217\u51fa\u4ee5apache\u5f00\u5934\u7684\u8fdb\u7a0b\u6253\u5f00\u7684\u6587\u4ef6\uff1a<\/p>\n

\u6240\u4ee5\u4f60\u53ef\u4ee5\u4e0d\u7528\u50cf\u4e0b\u9762\u8fd9\u6837\u5199\uff1a<\/p>\n

# lsof | grep foo<\/p>\n

\u800c\u4f7f\u7528\u4e0b\u9762\u8fd9\u4e2a\u66f4\u7b80\u77ed\u7684\u7248\u672c\uff1a<\/p>\n

# lsof -c foo<\/p>\n

\u4e8b\u5b9e\u4e0a\uff0c\u4f60\u53ef\u4ee5\u53ea\u5236\u5b9a\u8fdb\u7a0b\u540d\u79f0\u7684\u5f00\u5934\uff1a<\/p>\n

# lsof -c apa<\/p>\n

\u8fd9\u4f1a\u5217\u51fa\u6240\u6709\u4ee5apa\u5f00\u5934\u7684\u8fdb\u7a0b\u6253\u5f00\u7684\u6587\u4ef6<\/span><\/p>\n

\u4f60\u540c\u6837\u53ef\u4ee5\u5236\u5b9a\u591a\u4e2a-c\u53c2\u6570\uff1a<\/p>\n

# lsof -c apache -c python<\/p>\n

\u8fd9\u4f1a\u5217\u51fa\u6240\u6709\u7531apache\u548cpython\u6253\u5f00\u7684\u6587\u4ef6<\/p>\n

\u5217\u51fa\u6240\u6709\u7531\u67d0\u4e2a\u7528\u6237\u6216\u67d0\u4e2a\u8fdb\u7a0b\u6253\u5f00\u7684\u6587\u4ef6<\/p>\n

# lsof -u pkrumins -c apache<\/p>\n

\u4f60\u4e5f\u53ef\u4ee5\u7ec4\u5408\u4f7f\u7528\u591a\u4e2a\u9009\u9879\uff0c\u8fd9\u4e9b\u9009\u9879\u9ed8\u8ba4\u8fdb\u884c\u6216\u5173\u8054\uff0c\u4e5f\u5c31\u662f\u8bf4\u4e0a\u9762\u7684\u547d\u4ee4\u4f1a\u8f93\u5165\u7531pkrumins\u7528\u6237\u6216\u662fapache\u8fdb\u7a0b\u6253\u5f00\u7684\u6587\u4ef6\u3002<\/p>\n

\u5217\u51fa\u6240\u6709\u7531\u4e00\u4e2a\u7528\u6237\u4e0e\u67d0\u4e2a\u8fdb\u7a0b\u6253\u5f00\u7684\u6587\u4ef6<\/strong><\/p>\n

# lsof -a -u pkrumins -c bash<\/p>\n

-a\u53c2\u6570\u53ef\u4ee5\u5c06\u591a\u4e2a\u9009\u9879\u7684\u7ec4\u5408\u6761\u4ef6\u7531\u6216\u53d8\u4e3a\u4e0e\uff0c\u4e0a\u9762\u7684\u547d\u4ee4\u4f1a\u663e\u793a\u6240\u6709\u7531pkrumins\u7528\u6237\u4ee5\u53cabash\u8fdb\u7a0b\u6253<\/p>\n

\u5f00\u7684\u6587\u4ef6\u3002<\/p>\n

\u5217\u51fa\u9664root\u7528\u6237\u5916\u7684\u6240\u6709\u7528\u6237\u6253\u5f00\u7684\u6587\u4ef6<\/strong><\/p>\n

# lsof -u ^root<\/p>\n

\u6ce8\u610froot\u524d\u9762\u7684^\u7b26\u53f7\uff0c\u5b83\u6267\u884c\u53d6\u53cd\u64cd\u4f5c\uff0c\u56e0\u6b64lsof\u4f1a\u5217\u51fa\u6240\u6709root\u7528\u6237\u4e4b\u5916\u7684\u7528\u6237\u6253\u5f00\u7684\u6587\u4ef6\u3002<\/p>\n

\u5217\u51fa\u6240\u6709\u7531\u67d0\u4e2aPID\u5bf9\u5e94\u7684\u8fdb\u7a0b\u6253\u5f00\u7684\u6587\u4ef6<\/strong><\/p>\n

# lsof -p 1<\/p>\n

-p\u9009\u9879\u8ba9\u4f60\u53ef\u4ee5\u4f7f\u7528\u8fdb\u7a0bid\u6765\u8fc7\u6ee4\u8f93\u51fa\u3002<\/p>\n

\u8bb0\u4f4f\u4f60\u4e5f\u53ef\u4ee5\u7528\u90fd\u597d\u6765\u5206\u79bb\u591a\u4e2apid\u3002<\/p>\n

# lsof -p 450,980,333<\/p>\n

\u5217\u51fa\u6240\u6709\u8fdb\u7a0b\u6253\u5f00\u7684\u6587\u4ef6\u9664\u4e86\u67d0\u4e2apid\u7684<\/strong><\/p>\n

# lsof -p ^1<\/p>\n

\u540c\u524d\u9762\u7684\u7528\u6237\u4e00\u6837\uff0c\u4f60\u4e5f\u53ef\u4ee5\u5bf9-p\u9009\u9879\u4f7f\u7528^\u6765\u8fdb\u884c\u53d6\u53cd\u3002<\/p>\n

\u5217\u51fa\u6240\u6709\u7f51\u7edc\u8fde\u63a5<\/strong><\/p>\n

# lsof -i<\/p>\n

lsof\u7684-i\u9009\u9879\u53ef\u4ee5\u5217\u51fa\u6240\u6709\u6253\u5f00\u4e86\u7f51\u7edc\u5957\u63a5\u5b57\uff08TCP\u548cUDP\uff09\u7684\u8fdb\u7a0b\u3002<\/p>\n

\u5217\u51fa\u6240\u6709TCP\u7f51\u7edc\u8fde\u63a5<\/strong><\/p>\n

# lsof -i tcp<\/p>\n

\u4e5f\u53ef\u4ee5\u4e3a-i\u9009\u9879\u52a0\u4e0a\u53c2\u6570\uff0c\u6bd4\u5982tcp\uff0ctcp\u9009\u9879\u4f1a\u5f3a\u5236lsof\u53ea\u5217\u51fa\u6253\u5f00TCP sockets\u7684\u8fdb\u7a0b\u3002<\/p>\n

\u5217\u51fa\u6240\u6709UDP\u7f51\u7edc\u8fde\u63a5<\/strong><\/p>\n

# lsof -i udp<\/p>\n

\u540c\u6837udp\u8ba9lsof\u53ea\u5217\u51fa\u4f7f\u7528UDP socket\u7684\u8fdb\u7a0b\u3002<\/p>\n

\u627e\u5230\u4f7f\u7528\u67d0\u4e2a\u7aef\u53e3\u7684\u8fdb\u7a0b<\/strong>
\n[\u5e38\u88ab\u7528\u4f5c\u9762\u8bd5\u9898]<\/p>\n

# lsof -i :25<\/p>\n

:25\u548c-i\u9009\u9879\u7ec4\u5408\u53ef\u4ee5\u8ba9lsof\u5217\u51fa\u5360\u7528TCP\u6216UDP\u768425\u7aef\u53e3\u7684\u8fdb\u7a0b\u3002<\/p>\n

\u4f60\u4e5f\u53ef\u4ee5\u4f7f\u7528\/etc\/services\u4e2d\u5236\u5b9a\u7684\u7aef\u53e3\u540d\u79f0\u6765\u4ee3\u66ff\u7aef\u53e3\u53f7\uff0c\u6bd4\u5982\uff1a<\/p>\n

# lsof -i :smtp<\/p>\n

\u627e\u5230\u4f7f\u7528\u67d0\u4e2audp\u7aef\u53e3\u53f7\u7684\u8fdb\u7a0b<\/p>\n

# lsof -i udp:53<\/p>\n

\u540c\u6837\u7684\uff0c\u4e5f\u53ef\u4ee5\u627e\u5230\u4f7f\u7528\u67d0\u4e2atcp\u7aef\u53e3\u7684\u8fdb\u7a0b\uff1a<\/p>\n

# lsof -i tcp:80<\/p>\n

\u627e\u5230\u67d0\u4e2a\u7528\u6237\u7684\u6240\u6709\u7f51\u7edc\u8fde\u63a5<\/strong><\/p>\n

# lsof -a -u hacker -i<\/p>\n

\u4f7f\u7528-a\u5c06-u\u548c-i\u9009\u9879\u7ec4\u5408\u53ef\u4ee5\u8ba9lsof\u5217\u51fa\u67d0\u4e2a\u7528\u6237\u7684\u6240\u6709\u7f51\u7edc\u884c\u4e3a\u3002<\/p>\n

\u5217\u51fa\u6240\u6709NFS\uff08\u7f51\u7edc\u6587\u4ef6\u7cfb\u7edf\uff09\u6587\u4ef6<\/strong><\/p>\n

# lsof -N<\/p>\n

\u8fd9\u4e2a\u53c2\u6570\u5f88\u597d\u8bb0\uff0c-N\u5c31\u5bf9\u5e94NFS\u3002<\/p>\n

\u5217\u51fa\u6240\u6709UNIX\u57dfSocket\u6587\u4ef6<\/strong><\/p>\n

# lsof -U<\/p>\n

\u8fd9\u4e2a\u9009\u9879\u4e5f\u5f88\u597d\u8bb0\uff0c-U\u5c31\u5bf9\u5e94UNIX\u3002<\/p>\n

\u672c\u6587\u53c2\u8003\u6587\u7ae0\uff08\u57fa\u672c\u4e0a\u5c5e\u4e8e\u90e8\u5206\u8f6c\u8f7d\u4e86\uff09\uff1a<\/p>\n

http:\/\/heikezhi.com\/2011\/06\/19\/swiss-army-knife-of-unix-debugging-lsof\/<\/p>\n

\u8f6c\u8f7d\u8bf7\u6ce8\u660e\uff1aIPCPU-\u7f51\u7edc\u4e4b\u8def<\/a> » Linux\u4e2d\u7684lsof<\/a><\/p>","protected":false},"excerpt":{"rendered":"

[lsof – list open files] Lsof\u662f\u9075\u4eceUnix\u54f2\u5b66\u7684\u5178\u8303\uff0c\u5b83\u53ea\u505a\u4e00\u4ef6\u4e8b\u60c5\uff0c\u5e76\u4e14\u505a\u7684\u76f8\u5f53\u5b8c\u7f8e\u2014\u2014\u5b83\u53ef\u4ee5\u5217\u51fa\u67d0\u4e2a\u8fdb\u7a0b\u6253\u5f00\u7684\u6240\u6709\u6587\u4ef6\u4fe1\u606f\u3002 \u5982\u4f55\u4f7f\u7528lsof \u8fd9\u7bc7\u6587\u7ae0\u4e2d\u6211\u4f1a\u5c3d\u529b\u5217\u4e3e\u6211\u80fd\u60f3\u5230\u7684\u6240\u6709lsof\u7684\u7528\u6cd5\uff0c\u8ba9\u6211\u4eec\u5148\u4ece\u6700\u7b80\u5355\u7684\u5f00\u59cb\uff08\u6216\u8bb8\u4f60\u5df2\u7ecf\u77e5\u9053\u4e86\uff09\uff0c \u7136\u540e\u9010\u6e10\u589e\u52a0\u590d\u6742\u5ea6\uff1a \u5217\u51fa\u6240\u6709\u8fdb\u7a0b\u6253\u5f00\u7684\u6240\u6709\u6587\u4ef6 # lsof \u4e0d\u5e26\u4efb\u4f55\u53c2\u6570\u8fd0\u884clsof\u4f1a\u5217\u51fa\u6240\u6709\u8fdb\u7a0b\u6253\u5f00\u7684\u6240\u6709\u6587\u4ef6\u3002 \u627e\u51fa\u8c01\u5728\u4f7f\u7528\u67d0\u4e2a\u6587\u4ef6 # lsof \/path\/to\/file \u53ea\u9700\u8981\u6267\u884c\u6587\u4ef6\u7684\u8def\u5f84\uff0clsof\u5c31\u4f1a\u5217\u51fa\u6240\u6709\u4f7f\u7528\u8fd9\u4e2a\u6587\u4ef6\u7684\u8fdb\u7a0b\uff0c\u4f60\u4e5f\u53ef\u4ee5\u5217\u51fa\u591a\u4e2a\u6587\u4ef6\uff0clsof\u4f1a\u5217\u51fa\u6240\u6709\u4f7f\u7528\u8fd9\u4e9b\u6587\u4ef6\u7684\u8fdb\u7a0b\u3002 [root@s0 ~]# lsof | grep mm.txt vim 2406 ipcpu 4u REG 3,3 4096 4593356 \/home\/wss8849\/.mm.txt.swp [root@s0 ~]# \u5217\u51fa\u67d0\u4e2a\u7528\u6237\u6253\u5f00\u7684\u6240\u6709\u6587\u4ef6 # lsof -u pkrumins -u\u9009\u9879\u9650\u5b9a\u53ea\u5217\u51fa\u6240\u6709\u88ab\u7528\u6237pkrumins\u6253\u5f00\u7684\u6587\u4ef6\uff0c\u4f60\u53ef\u4ee5\u901a\u8fc7\u9017\u53f7\u6307\u5b9a\u591a\u4e2a\u7528\u6237\uff1a # lsof -u rms,root \u8fd9\u6761\u547d\u4ee4\u4f1a\u5217\u51fa\u6240\u6709rms\u548croot\u7528\u6237\u6253\u5f00\u7684\u6587\u4ef6\u3002 \u4f60\u4e5f\u53ef\u4ee5\u50cf\u4e0b\u9762\u8fd9\u6837\u4f7f\u7528\u591a\u4e2a-u\u505a\u540c\u6837\u7684\u4e8b\u60c5\uff1a # lsof -u rms -u root \u67e5\u627e\u67d0\u4e2a\u7a0b\u5e8f\u6253\u5f00\u7684\u6240\u6709\u6587\u4ef6 # […]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[13],"tags":[17],"_links":{"self":[{"href":"https:\/\/c.ipcpu.com\/wp-json\/wp\/v2\/posts\/212"}],"collection":[{"href":"https:\/\/c.ipcpu.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/c.ipcpu.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/c.ipcpu.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/c.ipcpu.com\/wp-json\/wp\/v2\/comments?post=212"}],"version-history":[{"count":0,"href":"https:\/\/c.ipcpu.com\/wp-json\/wp\/v2\/posts\/212\/revisions"}],"wp:attachment":[{"href":"https:\/\/c.ipcpu.com\/wp-json\/wp\/v2\/media?parent=212"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/c.ipcpu.com\/wp-json\/wp\/v2\/categories?post=212"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/c.ipcpu.com\/wp-json\/wp\/v2\/tags?post=212"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}