三二互联专业提供速度最快最稳定的美国服务器、香港服务器。中美直连,亚洲优化![ 代理登陆 ] [ 付款方式 ] [ 找回密码 ][ 电子协议责任书 ]
硬件资源保障

采用高配品牌服务器

主流强悍CPU配置

确保服务高速稳定运行

中美直连线路

中美直连亚洲优化

采用中国CN2骨干网络

保证速度飞快稳定高效

如何查看指定进程打开的文件的详细信息?

美国、香港服务器

如何查看指定进程打开的文件的详细信息?

08-18   来源:

 要查看指定进程打开文件的详细信息(包括文件权限、inode、大小、类型等),可以结合 lsof 命令与其他文件信息查询工具(如 ls、stat),实现多维度的详情展示。以下是具体方法:

方法 1:用 lsof 查看基础详细信息(推荐)
lsof 本身可通过参数输出文件的详细属性,包括文件描述符、类型、大小、inode 等,无需额外工具。
核心命令(以 PID 1234 为例):
bash
lsof -p 1234 -F pcfnltDs  # 输出结构化的详细信息
# 或使用更易读的格式(结合列筛选)
lsof -p 1234 -o -O -P -T f
关键参数说明:
-o:显示文件偏移量(进程读写文件的位置)。
-O:显示文件打开时间。
-P:不解析端口号为服务名(如保留 80 而非 http)。
-T f:显示文件的详细信息(如锁定状态)。
-F:输出结构化字段(便于脚本解析),后跟字段代码(p=PID、c= 进程名、f= 文件描述符、n= 路径等)。
输出示例及解读:
plaintext
COMMAND  PID  USER   FD   TYPE DEVICE   SIZE/OFF    NODE NAME                     TIME/OFF
nginx   1234  root    5u   REG    8,1    1024000  123456 /var/log/nginx/access.log    0t12345
 
SIZE/OFF:文件大小(普通文件)或偏移量(管道 / 网络文件)。
NODE:文件的 inode 编号(唯一标识文件的系统编号)。
TIME/OFF:文件最后访问 / 修改的时间(或当前读写偏移量)。
FD 字段中的 u 表示文件以读写模式打开(r= 只读、w= 只写、u= 读写)。
方法 2:结合 stat 查看文件元数据(深入细节)
若需更详细的文件元数据(如权限、创建时间、所属用户组、文件系统等),可先用 lsof 提取文件路径,再用 stat 命令查询:
步骤:
用 lsof 提取指定进程打开的文件路径:
bash
# 提取 PID 1234 打开的所有文件路径(去重)
lsof -p 1234 | awk "NR>1 {print $NF}" | sort -u > /tmp/files.txt
 
用 stat 查看每个文件的详细元数据:
bash
# 批量查看所有文件的详情(以 /var/log/nginx/access.log 为例)
stat /var/log/nginx/access.log
 
stat 输出示例及解读:
plaintext
  File: /var/log/nginx/access.log
  Size: 1024000    Blocks: 2000       IO Block: 4096   regular file
Device: 8,1         Inode: 123456      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2023-08-18 10:00:00.000000000 +0800
Modify: 2023-08-18 10:30:00.000000000 +0800
Change: 2023-08-18 10:30:00.000000000 +0800
 Birth: -
 
包含文件大小、块数、inode、权限(0644)、所有者(Uid/Gid)、访问 / 修改 / 变更时间等核心元数据。
方法 3:通过 /proc 系统查看底层信息(适合技术深入)
/proc/[PID]/fdinfo 目录存储了进程打开文件的底层信息(如偏移量、标志位),可结合 /proc/[PID]/fd 查看:
步骤:
查看文件描述符对应的路径:
bash
ls -l /proc/1234/fd  # 1234 为进程 PID
 
输出示例:lrwx------ 1 root root 64 8月 18 10:00 5 -> /var/log/nginx/access.log
查看该文件的底层信息(如偏移量、打开标志):
bash
cat /proc/1234/fdinfo/5  # 5 是上一步中的文件描述符
 
输出示例:
plaintext
pos:    12345          # 当前读写位置(偏移量)
flags:    0100002        # 打开标志(0100002 表示读写模式)
 
flags 解析:0100002 对应 O_RDWR(读写模式),其他常见标志如 O_RDONLY(只读,0000000)、O_WRONLY(只写,0000001)。
总结:按需选择工具组合
需求场景 推荐工具组合 优势
快速查看基础详情(路径、类型) lsof -p [PID] 简洁直观,包含核心信息
深入了解文件元数据(权限、时间) lsof -p [PID] + stat [文件路径] 提供文件系统级别的详细属性
分析底层文件描述符信息 /proc/[PID]/fd + /proc/[PID]/fdinfo/[FD] 查看内核级别的偏移量、打开标志等
 
通过这些方法,可全面掌握指定进程打开文件的详细信息,适合排查文件权限问题、资源占用异常等场景。

三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快

上一篇:如何确定目标进程的PID? 下一篇:如何查看指定进程打开的文件?

美国GIA服务器三二互联版权所有 WWW.250.cc 2008-2015 All Rights Reserved
三二互联 - 专业的美国C3服务器香港vps、抗DOOS流量清洗、云备份系统、网站加速系统、美国GIA服务器和香港云服务器产品提供商
三二互联24小时在线工单系统为您提供全面、专业、周到的技术支持与服务
咨询热线:400-679-9994(免长话费)