lsof(list open files)是一个列出当前系统打开文件的工具。
一、输出信息解析:
lsof列出当前系统打开的文件,格式如下:
COMMAND :进程名称;
PID TID :进程PID或TID
USER :进程所有者
FD :文件描述符,
cwd 指向当前进程运行目录的一个符号链接
rtd 根目录
txt 应用程序
mem 内存映射文件
数字(0,1,2,3): 打开的文件描述符
u.r.w 文件的权限: 只读、只写、读写
TYPE :文件类型
DIR: 目录
REG: 普通文件
CHR: 字符设备
DEVICE :指定磁盘的名称
SIZE/OFF :文件的大小
NODE :索引节点(文件在磁盘上的标识)
NAME :打开文件的确切名称
二、指令使用:
lsof 列出当前系统打开的所有文件
lsof [文件] 查看某文件使用(被占用)情况
例:
+D 递归列出某文件下的所有文件使用(被占用)情况
lsof +D [路径]
例:
-u 根据用户,打开的文件信息
lsof -u [用户名称] ——列出某个用户打开的文件信息
lsof -u ^[用户名称] ——列出某个用户外打开的文件信息
-c 根据应用名称打开的文件信息
lsof -c [应用名称] ——列出某个应用打开的文件信息
-p 根据应用PID打开的文件信息
lsof -p [应用PID] ——根据PID列出某个应用打开的文件信息
-i 列出网络相关信息
lsof -i tcp 列出所有tcp 网络连接信息
lsof -i udp 列出所有udp网络连接信息
lsof -i :[端口号] 列出谁在使用某个端口
lsof -i udp:[端口号] 列出谁在使用某个特定的udp端口
lsof -i tcp:[端口号] 列出谁在使用某个特定的tcp端口
-g 根据用户组,列出文件使用情况
lsof -g [用户组]
-d 根据文件描述符,列出的文件使用情况
lsof -d [文件描述符]
lsof -d [起始文件描述符]-[截止文件描述符]
备注:可配合使用
lsof -c [应用名称] -c [应用名称] -c [应用名称]
lsof -p [应用PID],[应用PID],[应用PID]
lsof -u [用户名称] -c [应用名称] 列出某用户下的某应用使用情况