root@root:~# lsof
COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd root cwd DIR , /
systemd root rtd DIR , /
systemd root txt REG , /lib/systemd/systemd
systemd root mem REG , /lib/libattr.so.1.1.
systemd root 0u CHR , 0t0 /dev/null
systemd root 1u CHR , 0t0 /dev/null
systemd root 2u CHR , 0t0 /dev/null
systemd root 3w CHR , 0t0 /dev/kmsg
systemd root 4u a_inode , [eventpoll]
systemd root 6r DIR , /sys/fs/cgroup/systemd
systemd root 10r REG , /proc//mountinfo
systemd root 11r a_inode , inotify
systemd root 12u unix 0xffff8005fcae8480 0t0 /run/systemd/notify type=DGRAM
systemd root 24u a_inode , [timerfd]
systemd root 27u FIFO , 0t0 /run/systemd/initctl/fifo
systemd root 28r a_inode , inotify
systemd root 29u netlink 0t0 AUDIT
systemd root 34u IPv6 0t0 TCP *:ssh (LISTEN)

FD 列中的文件描述符:

cwd 值表示应用程序的当前工作目录,这是该应用程序启动的目录,除非它本身对这个目录进行更改。
txt 类型的文件是程序代码,如应用程序二进制文件本身或共享库,如上列表中显示的 /sbin/init 程序。
数值 表示应用程序的文件描述符,这是打开该文件时返回的一个整数。u 表示该文件被打开并处于读取/写入模式,而不是只读或只写模式。同时还有大写的 W 表示该应用程序具有对整个文件的写锁。
       该文件描述符用于确保每次只能打开一个应用程序实例。初始打开每个应用程序时,都具有三个文件描述符,从 0 到 2,分别表示标准输入、输出和错误流。所以大多数应用程序所打开的文件
      的 FD 都是从 3 开始。

Type:
列则比较直观,文件和目录分别称为 REG 和 DIR。而CHR 和 BLK,分别表示字符和块设备;或者 UNIX、FIFO 和 IPv4,分别表示 UNIX域套接字、先进先出(FIFO)队列和网际协议(IP)套接字。

常用参数列表

lsof 列出系统打开的文件

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

lsof -p PID 列出指定的进程号打开的文件,和-c类似。

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

lsof -c string 显示COMMAND列中包含指定字符的进程所有打开的文件 这个可以用于查看Navi的

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

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

lsof +d /DIR/ 显示目录下被进程打开的文件,实测这个有时不好用,不要进入到测试目录,以免干扰。 这个也可以用于查证

lsof +D /DIR/ 同上,但是会搜索目录下的所有目录,时间相对较长。这个好用

lsof -d FD 显示指定文件描述符的进程,eg:# lsof -d 30 会显示出包含fd=30的所有进程。

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

lsof -i 用以显示符合条件的进程情况,???
  lsof -i[4/6] [protocol][@hostname|hostaddr][:service|port]
  46 --> IPv4 or IPv6
  protocol --> TCP or UDP
  hostname --> Internet host name
  hostaddr --> IPv4地址
  service --> /etc/service中的 service name (可以不只一个)
  port --> 端口号 (可以不只一个)

lsof-查看进程句柄的更多相关文章

  1. 使用lsof查看进程句柄使用情况

    lsof -n |awk '{print $2}'|sort|uniq -c |sort -nr|more

  2. lsof查看进程打开了哪些文件目录套接字

    lsof查看进程打开了哪些文件目录套接字

  3. LSOF查看linux中文件打开情况

    如何查看linux中文件打开情况 前言 我们都知道,在linux下,“一切皆文件”,因此有时候查看文件的打开情况,就显得格外重要,而这里有一个命令能够在这件事上很好的帮助我们-它就是lsof. lin ...

  4. 进程,内存,管理 ps,pstree,top,free,vmstat,iftop,lsof,查看网速

    一些基础 不同进程之间,进行数据访问 同一主机:pipe 管道 socket   套接字文件 signal   信号 shm   shared memory semaphore 信号量,一种计数器 不 ...

  5. linux删除文件后,空间未释放的一种情况,使用lsof查看

    linux某个目录空间快满了,删除了若干的文件后,使用df -h显示还是快满的,但是df -h *显示的总的文件大小又没那么大. 某个进程正在使用删除的文件,导致删除后,空间仍然不能释放. 查看rm掉 ...

  6. lsof 查看文件被哪个进程占用

    lsof 是什么意思? 答: list open files 查看某个文件被哪些进程在读写 lsof 文件名 查看某个进程打开了哪些文件lsof –c 进程名lsof –p 进程号 lsof用法小全 ...

  7. lsof 查看端口占用的进程ID

    1. nohup execute >/dev/null 2>&1 & 提交了一个后台jobs 2. 然后查看一下 哪个进程正在用 3. yum 安装lsof yum ins ...

  8. 使用netstat、lsof查看端口占用情况

    netstat netstat用来查看系统当前系统网络状态信息,包括端口,连接情况等,常用方式如下:   netstat -atunlp,各参数含义如下:   -t : 指明显示TCP端口 -u : ...

  9. s11.1 lsof:查看进程打开的文件

    功能说明 lsof 全名为list open files,也就是列举系统中已经被打开的文件,通过lsof命令,就可以根据文件找到对应的进程信息,也可以根据进程信息找到进程打开的文件. [语法格式] l ...

  10. [lsof]lsof查看哪些设备/文件被占用或者打开

    转自:http://blog.csdn.net/yuzhihui_no1/article/details/51767516 最近在查一个Bug,应用程序kill之后重启,总是会出现adc的设备open ...

随机推荐

  1. English trip -- VC(情景课)1 B Countries

    Vocabulary focus 核心词汇 Vo ca bu la ry   fo cus [və(ʊ)'kæbjʊlərɪ]      ['fəʊkəs] Listen and repeat  听并 ...

  2. 20170405xlVBA快速录入

    Dim Rng As Range Dim Arr As Variant Dim LastCell As Range Dim FindText As String Dim ItemCount As Lo ...

  3. 原生js实现选项卡

    html代码: <div class="tab"> <ul> <li class="selected">图片</li& ...

  4. Non-parseable POM 解决方法

     两个build放在一起当然不行,把它们类似这样的合并起来.

  5. linux 查找

    linux下的查找命令有很多,常用的有which.whereis.locate.find.平时在网上搜索一些教程的时候,经常会有让使用这四条命令中的一条去查找一些东西,但是经常这次说用which,下次 ...

  6. 在EO中获取某字段基于表的列名

    //生成EO的时候自动生成的字段 public static final int BRIEFINTRO = 88; String[][] str = null; str = new String[][ ...

  7. Spring Boot的SpringApplication类详解

    相信使用过Spring Boot的开发人员,都对Spring Boot的核心模块中提供的SpringApplication类不陌生.SpringApplication类的run()方法往往在Sprin ...

  8. Error: Chunk.entry was removed. Use hasRuntime()错误解决

      Error: Chunk.entry was removed. Use hasRuntime()错误解决           执行如下命令 npm uninstall --save-dev ext ...

  9. php中的curl的一些参数总结

    curl可以根据是否是http或则是https选择加密发送的内容: 使用curl发送请求的基本流程 1,初始化连接句柄: 2,设置curl选项: 3,执行并获取结果: 4,释放curl连接句柄: 例子 ...

  10. CAS-登出配置

    该图 当一个web 浏览器登录到应用服务器时,应用服务器(application)会监测用户的session,如果没有session,则应用服务器会把url跳转到CAS server上.要求 用户登录 ...