lsof 之 -p 详解

root@OpenWrt:/tmp# lsof -p 1248

COMMAND    PID USER   FD      TYPE     DEVICE SIZE/OFF   NODE NAME

tinymappe 1248 root  cwd       DIR       0,14        0    193 /

tinymappe 1248 root  rtd       DIR       0,14        0    193 /

tinymappe 1248 root  txt       REG       31,5   218428    512 /bin/tinymapper

tinymappe 1248 root  mem       REG       31,5   355488    325 /lib/libuClibc-0.9.33.2.so

tinymappe 1248 root  mem       REG       31,5    78199    322 /lib/libgcc_s.so.1

tinymappe 1248 root  mem       REG       31,5    89279    461 /lib/libm-0.9.33.2.so

tinymappe 1248 root  mem       REG       31,5   857467    802 /usr/lib/libstdc++.so.6

tinymappe 1248 root  mem       REG       31,5    12502    338 /lib/libdl-0.9.33.2.so

tinymappe 1248 root  mem       REG       31,5    78650    324 /lib/libpthread-0.9.33.2.so

tinymappe 1248 root  mem       REG       31,5   203339    774 /usr/lib/libcurl.so.4.3.0

tinymappe 1248 root  mem       REG       31,5    88410    772 /usr/lib/libjson.so

tinymappe 1248 root  mem       REG       31,5    28966    327 /lib/ld-uClibc-0.9.33.2.so

tinymappe 1248 root    0r      CHR        1,3      0t0    260 /dev/null

tinymappe 1248 root    1w     FIFO        0,7      0t0   1753 pipe

tinymappe 1248 root    2w     FIFO        0,7      0t0   1753 pipe

tinymappe 1248 root    3r      CHR        1,9      0t0    264 /dev/urandom

tinymappe 1248 root    4u     sock        0,5      0t0   2152 can't identify protocol

tinymappe 1248 root    5u     inet       2153      0t0    UDP *:8989 

tinymappe 1248 root    6u     0000        0,8        0     12 anon_inode

tinymappe 1248 root    7u     0000        0,8        0     12 anon_inode

tinymappe 1248 root    8r     FIFO        0,7      0t0   1215 pipe

tinymappe 1248 root    9r     FIFO        0,7      0t0   1751 pipe

tinymappe 1248 root   10w     FIFO        0,7      0t0   1753 pipe

tinymappe 1248 root   11u  netlink                 0t0   2154 KOBJECT_UEVENT

tinymappe 1248 root   12u     0000        0,8        0     12 anon_inode

tinymappe 1248 root   13u     unix 0x86702c80      0t0   2155 socket

tinymappe 1248 root   14u      CHR     188,10      0t0    317 /dev/ttyUSB10

tinymappe 1248 root   15u      CHR      188,1      0t0   3762 /dev/ttyUSB1

tinymappe 1248 root   18u     inet       4259      0t0    UDP 10.38.80.128:53197->47.47.47.91:8989 

tinymappe 1248 root   19u     inet       2891      0t0    UDP 10.9.55.170:39210->47.47.47.91:8989 

tinymappe 1248 root   20u     inet       4204      0t0    UDP 10.9.47.225:60753->47.47.47.91:8989 

tinymappe 1248 root   21u      raw                 0t0 100005 00000000:0001->00000000:0000 st=07

参数详解:

COMMAND:进程的名称 

PID:进程标识符

USER:进程所有者

FD:文件描述符,应用程序通过文件描述符识别该文件。如cwdtxt

TYPE:文件类型,如DIRREG

DEVICE:指定磁盘的名称

SIZE:文件的大小

NODE:索引节点(文件在磁盘上的标识)

NAME:打开文件的确切名称


FD列中的文件描述符:

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

u 表示该文件被打开并处于读取/写入模式,而不是只读 ? 或只写 (w) 模式。同时还有大写 W 表示该应用程序具有对整个文件的写锁。该文件描述符用于确保每次只能打开一个应用程序实例。初始打开每个应用程序时,都具有三个文件描述符,从02,分别表示标准输入、输出和错误流。所以大多数应用程序所打开的文件的FD都是从3开始。

Type列:

文件和目录分别称为REGDIR

CHR表示字符;(fopen,打开文件)

BLK表示块设备;

UNIXFIFOIPv4,分别表示UNIX 域套接字、先进先出(FIFO)队列和网际协议(IP)套接字。

FIFO表示先进先出;(popen,pipe)

inet表示网际协议(IP)套接字tcp/udp;(socket)

netlink表示netlink


LSOF(List Open Files)是一个用于查看系统中打开文件的工具,在Linux中非常常用。它可以列出系统中所有打开的文件、目录和网络连接等信息。以下是LSOF的详细解释: 1. 安装:通常情况下,LSOF已经预装在许多Linux发行版中,如果没有预装,你可以通过包管理器进行安装。例如,在Debian/Ubuntu系统中,可以使用以下命令安装:sudo apt-get install lsof 2. 基本用法:使用lsof命令的最简单形式是直接输入lsof,它将显示系统中当前打开的所有文件。例如:lsof 3. 列出指定进程打开的文件:可以使用-P选项以进程ID(PID)的形式列出特定进程打开的所有文件。例如:lsof -p PID 4. 列出指定用户打开的文件:使用-u选项可以列出指定用户打开的所有文件。例如:lsof -u username 5. 列出指定文件名相关的进程信息:使用-f选项可通过文件名来过滤并列出相关的进程信息。例如:lsof -f filename 6. 列出指定端口相关的进程信息:使用-i选项可以列出所有使用指定端口的进程信息。例如:lsof -i :port_number 7. 列出网络连接信息:使用-n选项可以显示IP地址和端口号而不进行主机名和端口号的解析。例如:lsof -i -n 8. 列出指定目录及其子目录下打开的文件:使用+d选项可以列出指定目录及其子目录下所有打开的文件。例如:lsof +D /path/to/directory 这只是LSOF的一些常用选项和用法,LSOF还有更多高级功能和选项。你可以通过man lsof命令查阅更详细的帮助文档,也可以在互联网上找到更多的教程和示例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值