zoukankan      html  css  js  c++  java
  • lsof

    lsof可以查看当前系统所有的打开文件,在linux环境下,一切皆文件,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件,

    如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,文件描述符提供了大量

    关于这个应用程序本身的信息。

    命令参数:

    -a 列出被打开的文件的进程列表
    -c<进程名> 列出指定进程所打开的文件
    -g 列出GID号进程详情
    -d<文件号> 列出占用该文件号的进程
    +d<目录> 列出目录下被打开的文件
    +D<目录> 递归列出目录下被打开的文件
    -n<目录> 列出使用NFS的文件
    -i<条件> 列出符合条件的进程。(4、6、协议、端口、 ip )
    -p<进程号> 列出指定进程号所打开的文件
    -u 列出UID号进程详情
    

    1、文件被哪些进程打开了

    lsof -a /var/lib/mysql/mysql/slow_log.CSV

    COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
    mysqld  29363 mysql   63r   REG  253,1        0 263979 /var/lib/mysql/mysql/slow_log.CSV


    2、列出用户打开的文件

    lsof -u root | more
     
    COMMAND     PID USER   FD      TYPE             DEVICE SIZE/OFF       NODE NAME
    init          1 root  cwd       DIR              253,1     4096          2 /
    init          1 root  rtd       DIR              253,1     4096          2 /
    init          1 root  txt       REG              253,1   167192    1048737 /sbin/init

    3、列出程序(command)打开了哪些文件

    lsof -c python
     
    COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
    python  32280 root  rtd    DIR  253,1     4096      2 /
    python  32280 root  mem    REG  253,1    52120 927846 /lib/x86_64-linux-gnu/libnss_files-2.15.so
    python  32280 root  DEL    REG  253,1          263953 /usr/lib/python2.7/lib-dynload/_multiprocessing.so

    4、根据进程号列出该进程打开的文件

     lsof -p 31370 #nginx的进程号
    
    COMMAND   PID     USER   FD   TYPE             DEVICE SIZE/OFF    NODE NAME
    nginx   31370 www-data  cwd    DIR              253,1     4096       2 /
    nginx   31370 www-data  rtd    DIR              253,1     4096       2 /
    nginx   31370 www-data  txt    REG              253,1   843688 1186644 /usr/sbin/nginx

    5、查看所有网络连接,包括tcp,udp,ipv4,ipv6的连接

    lsof -i
    COMMAND    PID     USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
    pptpd      975     root    6u  IPv4     8836      0t0  TCP *:1723 (LISTEN)
    ssserver  7366     root    4u  IPv4   100096      0t0  TCP *:8388 (LISTEN)
    ssserver  7366     root    5u  IPv4   100097      0t0  UDP *:8388
    ssserver  7366     root    7u  IPv4   100098      0t0  UDP *:57935

    6、查看某个端口打开的文件

    lsof -i :80
    COMMAND   PID     USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
    nginx   31369     root    6u  IPv4 8882096      0t0  TCP *:http (LISTEN)

    7、查看所有TCP连接

    lsof -n -P -i TCP -s TCP:LISTEN



    出处:Linux性能监控命令详解:lsof

  • 相关阅读:
    Maximum Flow Exhaustion of Paths Algorithm
    ubuntu下安装java环境
    visualbox使用(二)
    vxworks一个超级奇怪的错误(parse error before `char')
    February 4th, 2018 Week 6th Sunday
    February 3rd, 2018 Week 5th Saturday
    February 2nd, 2018 Week 5th Friday
    February 1st, 2018 Week 5th Thursday
    January 31st, 2018 Week 05th Wednesday
    January 30th, 2018 Week 05th Tuesday
  • 原文地址:https://www.cnblogs.com/yuyutianxia/p/7700583.html
Copyright © 2011-2022 走看看