zoukankan      html  css  js  c++  java
  • linux lsof

    概述
    • lsof(list open files)是一个列出当前系统打开文件的工具。在 linux 环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。

    • 如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。

    • 因应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此可以通过 lsof 工具能够查看这个列表对系统监测以及排错将是很有帮助的。

    • 在终端下输入 lsof 即可显示系统打开的文件,因为 lsof 需要访问核心内存和各种文件,所以必须以 root 用户才能运行它。

    输出信息

    COMMAND:进程的名称

    PID:进程标识符

    USER:进程所有者

    FD:文件描述符,应用程序通过文件描述符识别该文件

    TYPE:文件类型,如DIR、REG等

    DEVICE:指定磁盘的名称

    SIZE:文件的大小

    NODE:索引节点(文件在磁盘上的标识)

    NAME:打开文件的确切名称

     

    参数列表

    lsof filename 显示打开指定文件的所有进程

    lsof -a 表示两个参数都必须满足时才显示结果

    lsof -c string 显示COMMAND列中包含指定字符的进程所有打开的文件

    lsof -u username 显示所属user进程打开的文件

    lsof -g gid 显示归属gid的进程情况

    lsof +d /DIR/ 显示目录下被进程打开的文件

    lsof +D /DIR/ 显示目录下被进程打开的文件 ,但是会搜索目录下的所有目录,时间相对较长

    lsof -d FD 显示指定文件描述符的进程

    lsof -n 不将IP转换为hostname,缺省是不加上-n参数

    lsof -i 用以显示符合条件的进程情况

    使用示例

    lsof -i6 显示使用IPV6类型文件的程序

    lsof -i:22 显示22号端口运行的程序

    lsof /usr/bin/bash 显示打开/usr/bin/bash文件的程序

  • 相关阅读:
    Dubbo学习记录(一)
    Quartz定调度简单案例
    oracle中批量生成字段类型的脚本
    MsSQLserver中修改字段值系统自动生成的脚本
    根据oracle的主键列生成SQLserver的主键
    SQLServer2005如何批量修改架构名
    win10 下oracle tns通过IP无法访问的解决办法
    PD PDM模型中关系设置为概念模型样式
    PB12.5.2安装
    Java Web 项目目录规范
  • 原文地址:https://www.cnblogs.com/tongyishu/p/13814858.html
Copyright © 2011-2022 走看看