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 | grep `pwd`;

  • lsof -i : 列出打开的套接字;

  • lsof -i tcp : 列出打开的tcp套接字;

  • lsof -i :5198 : 列出打开5198端口的进程;

  • lsof -i :ssh : 列出打开22端口的进程;

  • lsof -i tcp:5198 : 列出打开5198号tcp端口的进程;

  • lsof -U  : 列出打开Unix域套接字的进程;

  • lsof -d 0-2 : 列出在0到2文件描述符上打开文件的进程;

  • lsof -d mem : 列出打开映射文件的进程;

  • lsof -d txt : 列出打开的可执行文件.

  还有其他一些非常有用的选项, 可以对lsof的行为进行控制.

  • lsof -a: 上述功能性选项可以组合使用, 但默认采用OR逻辑列出, -a选项令lsof使用AND逻辑;

  • lsof -t: 只列出进程号, 可以借此得到特定的进程列表, 以方便对这些进程的自动处理, 比如kill `lsof -t -i :5198`会杀死所有打开5198端口的进程;

  • lsof -r [seconds]: -r选项可以让lsof以一定的时间间隔连续执行, 在监视文件/进程时会非常实用.


你可能感兴趣的:(用户,command,信息,root权限)