Chinaunix首页 | 论坛 | 博客
  • 博客访问: 312196
  • 博文数量: 56
  • 博客积分: 2058
  • 博客等级: 中尉
  • 技术积分: 688
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-11 09:19
个人简介

code rush

文章分类

全部博文(56)

文章存档

2012年(2)

2011年(54)

分类: LINUX

2011-09-17 14:25:56

lsof输出各列信息的意义如下:
COMMAND:进程的名称
PID:进程标识符
USER:进程所有者
FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等
TYPE:文件类型,如DIR、REG等
DEVICE:指定磁盘的名称
SIZE:文件的大小
NODE:索引节点(文件在磁盘上的标识)
NAME:打开文件的确切名称

其中FD 列中的文件描述符cwd 值表示应用程序的当前工作目录,这是该应用程序启动的目录,除非它本身对这个目录进行更改。
txt 类型的文件是程序代码,如应用程序二进制文件本身或共享库,如上列表中显示的 /sbin/init 程序。
其次数值表示应用程序的文件描述符,这是打开该文件时返回的一个整数。

u 表示该文件被打开并处于读取/写入模式,而不是只读 ? 或只写 (w) 模式。同时还有大写的W 表示该应用程序具有对整个文件的写锁。该文件描述符用于确保每次只能打开一个应用程序实例。

初始打开每个应用程序时,都具有三个文件描述符,从 0 到 2,分别表示标准输入、输出和错误流。所以大多数应用程序所打开的文件的 FD 都是从 3开始。

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


1、当在lsof后边没有跟任何参数时,该命令将会列出当前系统中被所有进程打开的所有文件
#lsof|nl     #nl命令打印出行号

2、下边这几个命令指出打开某文件的进程

#lsof `which httpd`    #那个进程在使用apache的可执行文件
#lsof /etc/passwd      #那个进程在占用/etc/passwd
#lsof /dev/hda6        #那个进程在占用hda6
#lsof /dev/cdrom       #那个进程在占用光驱

3、下边将会打印出占用httpd可执行文件的进程的进程号(仅仅是进程号,在编写shell脚本是有用)
#lsof -t `which httpd`

4、显示出那些文件被以k打头的进程名的进程打开,以bash打头,和以init打头:
#lsof -c k
#lsof -c bash
#lsof -c init

5、显示出那些文件被以courier打头的进程打开,但是并不属于用户‘zahn’
#lsof -c courier -u ^zahn

6、显示被zahn和apache打开的文件
#lsof -u apache,zahn

7、显示那些文件被pid为30297的进程打开:
#lsof +p 30297

8、显示所有在/tmp文件夹中打开的instance和文件的进程。但是symbol文件并不在列
#lsof -D /tmp

9、显示所有打开的端口
#lsof -i
10、显示所有打开80端口的进程
#lsof -i:80

11、显示所有打开的端口和UNIX domain文件:
#lsof -i -U

12、显示那些进程打开了到的UDP的123(ntp)端口的链接:
#lsof-iUDP@:123

13、列出Internet, x.25 (HP-UX), and UNIX domain 文件:
#lsof -i -U

14、列出指定进程打开的IPv4文件:
#lsof -i 4 -a -p 1234  (-a 参数被视为 AND )

15、列出指定进程打开的IPv4文件:
#lsof -i 6

16、列出使用 /dev/log的文件:
#lsof /dev/log

17、获取每个进程的PID,命令名。进程每个文件的文件描述符,文件设备号,文件inode :
#lsof –FpcfDi

18、获取工作目录的第3个字符是'o' or 'O'的进程:
#lsof -c /^..o.$/i -a -d cwd  (-a 参数被视为 AND )

19、获取和指定IP有关的socket 文件:
#lsof-i@172.19.148.26

20、Unlinked的打开文件:
#lsof +L1

21、查找监听的socket
#lsof –i
#lsof-i@aaa.bbb.ccc
#lsof-iTCP@aaa.bbb.ccc:ftp-data

22、查找指定进程号或进程名使用的文件
lsof -p

23、远程登陆侦测
 #lsof /dev/pts/0

24、NFS文件
$ lsof –N

25、指定用户打开的文件
 
lsof -u ^root
阅读(3235) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~