lsof, LiSt Opened Files, 列出打开的文件, 听起来很简单的样子. 但想*nix中很多其他工具一样, lsof把这件简单的事情做到了炉火纯青. 因为Unix认为”一切皆文件”, 那么”打开的文件”就不仅仅是传统意义上打开的文件了, 还可以是网络/Unix域套接字, 匿名/具名管道, 共享库文件, 目录文件, 设备文件等等. 很多场景下, 查看进程或系统打开的文件会给调试带来极大的帮助. 下面简单地介绍lsof常被使用的功能选项.lsof: 简单地执行lsof会列出当前系统中所有被打开的文件, 但为了看到完整的信息, 通常需要具有root权限;lsof -u dutor: 列出用户dutor打开的文件, 可指定多个用户, 默认是OR的关系;lsof -c tair: 列出名称以tair开头的进程打开的文件, c for command, 可指定多个;lsof -c /^t.*r$/: 列出名称以t开头, r结尾的进程打开的文件;lsof -p 12315: 列出进程号为12315的进程打开的文件, 可指定多个;lsof server.log: 列出打开server.log文件的进程, 可指明多个文件;lsof .: 列出打开当前目录的进程;lsof +D .: 递归地列出当前目录中被打开的文件, 当然也可以lsof
...
继续阅读
(12)