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. 使用Python Django在Ubuntu下搭建数据库型网站

    最近想做一个数据库网站,我对Python很熟悉,也了解到Django很好用,于是说搞就搞. 首先,在快云上买了一个vps,一元试用一个月,Ubuntu系统. 1.安装Django apt-get up ...

  2. 如何给wpf的按钮添加背景图片

    1:简单实用 <Button Height="143" HorizontalAlignment="Left" Margin="30,34,0,0 ...

  3. PHP导出为Word格式

    <?php $file = './html.doc'; $table = '<table width="100%"><tr><td>'.i ...

  4. hdu1358 kmp的next数组

    For each prefix of a given string S with N characters (each character has an ASCII code between 97 a ...

  5. HDU 4764 Stone (巴什博弈)

    题意 Tang和Jiang玩石子游戏,给定n个石子,每次取[1,k]个石子,最先取完的人失败,Tang先取,问谁是赢家. 思路 比赛的时候想了不久,还WA了一次= =--后来看题解才发现是经典的巴什博 ...

  6. Shell脚本的学习(二)

    Shell脚本的学习(二) 方法: 1) 一个计算器: 2)递归实现打印目录    3)方法调用

  7. James Whittaker:经营成功的测试职业生涯

    转注:这篇文章出自 James A. Whittaker,Google的工程总监,负责Google部分产品的测试,包括Chrome.地图.GoogleWebApp.在加盟Google之前,James在 ...

  8. win7下android开发环境搭建(win7 64位)

    win7下android开发环境搭建(win7 64位)   一.安装 JDK 下载JDK最新版本,下载地址如下: http://www.oracle.com/technetwork/java/jav ...

  9. javascript的replace之正则表达式的浅析

    在javascript中,字符串的replace方法可以指定替换某些字符串. 1.直接替换字符串 "yy/MM/dd".replace("yy","2 ...

  10. java 缓冲区大小与下载速度的关系

    1.对于缓冲区空间的设定,要根据具体情况来定,如果存在大量的长信息(比如文件传输),将缓冲区定义的大些,可能更好的利用网络资源,如果更多的是短信息(比如聊天消息),使用小的缓冲区可能更好些,这样刷新的 ...