插件窝 干货文章 linux查看当前运行进程文件

linux查看当前运行进程文件

进程 文件 查看 打开 46    来源:    2025-04-05

在 Linux 系统中,可以通过以下几种方式查看当前运行进程相关的文件信息:

1. 使用 lsof 命令(推荐)

lsof (List Open Files) 可以列出被进程打开的文件:

sudo lsof -p <PID>          # 查看指定进程打开的文件
sudo lsof -c <进程名>       # 查看指定名称进程打开的文件
sudo lsof -i               # 查看网络相关的文件
sudo lsof -u <用户名>       # 查看指定用户打开的文件

2. 通过 /proc 文件系统

每个进程在 /proc 下有以 PID 命名的目录,包含进程的详细信息:

ls -l /proc/<PID>/fd       # 查看进程打开的文件描述符
cat /proc/<PID>/maps       # 查看进程的内存映射文件
cat /proc/<PID>/cmdline    # 查看进程的启动命令

3. 使用 ps 命令查看进程信息

ps aux                     # 查看所有运行中的进程
ps -ef | grep <进程名>      # 查找特定进程

4. 使用 pmap 查看进程内存映射

pmap <PID>                 # 显示进程的内存映射(包含文件)

5. 使用 strace 跟踪系统调用

strace -p <PID> -e trace=file  # 实时跟踪进程的文件操作

示例:查找某进程的配置文件

# 1. 先找到进程PID
pgrep nginx

# 2. 查看该进程打开的文件
sudo lsof -p $(pgrep nginx) | grep '\.conf'

注意事项:

  • 需要 root 权限才能查看其他用户的进程文件
  • /proc 中的内容是动态生成的,不是真实存储在磁盘上的文件
  • 网络连接在 Linux 中也视为文件,可以通过 lsof -i 查看

这些工具的组合使用可以帮助你全面了解进程正在使用或打开的文件资源。