lsof输出各列信息的意义 详解

lsof输出各列信息的意义

lsof是一个查看系统打开的文件的工具。它可以用来查看进程打开的文件、被哪个进程打开的、哪些文件正在被使用、哪些已经被打开但是还没有被使用等信息。lsof输出的信息十分详细,包括文件名、文件描述符、文件类型、读写状态、操作进程等等。以下是lsof输出各列信息的意义:

1. COMMAND

列出操作该文件的进程名称,这个名称是通过进程在系统中注册的名字,而不是程序文件名称。

2. PID

每个进程都对应一个唯一的进程ID(进程标识符),PID是这个进程的标识符。在这个列中,lsof会列出该文件的操作进程的PID。

3. USER

列出操作该文件的进程的用户名。

4. FD

列出文件描述符。文件描述符是系统为了管理打开的文件而定义的一种编号方式,它是每个进程所维护的一个表中的一个元素。lsof中每个打开的文件都会有相应的文件描述符。

5. TYPE

文件的类型,分为REG(常规文件)、CHR(字符设备)、DIR(目录)、BLK(块设备)、FIFO(管道)、SOCK(套接字)等。

6. DEVICE

文件所在的设备号。

7. SIZE/OFF

文件的大小或者偏移量。对于字符设备、管道等没有固定大小的文件,SIZE/OFF显示为0。

8. NODE

文件节点号,它是在文件系统中唯一标识一个文件的整数值。

9. NAME

文件名或者说路径名,支持多个名称,用逗号分隔。

以上就是lsof输出各列信息的意义,要对lsof的输出结果进行深入分析和理解时,需要仔细阅读每列的信息,每个列所代表的含义都十分重要,也是深入了解系统运行情况的必要工具。


$ lsof /var/log/system.log 
COMMAND  PID   USER   FD   TYPE DEVICE  SIZE/OFF   NODE NAME
syslogd  107  _syslogd  txt   REG   1,1      96676  449742 /usr/sbin/syslogd
syslogd  107  _syslogd  txt   REG   1,1      96676  449742 /usr/sbin/syslogd
syslogd  107  _syslogd  0u   CHR   16,0 0t3163055      3 /dev/console
syslogd  107  _syslogd  1u   CHR   16,0 0t3163055      3 /dev/console
syslogd  107  _syslogd  2u   CHR   16,0 0t3163055      3 /dev/console
syslogd  107  _syslogd  3u   REG   1,4   1768385  475822 /var/log/system.log
© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容