插件窝 干货文章 linux怎么查看进程的路径

linux怎么查看进程的路径

路径 进程 proc bash 617    来源:    2025-04-05

在 Linux 系统中,查看进程的路径可以通过以下几种方法实现:


1. 通过 pwdx 命令

pwdx <PID>
  • 作用:直接显示指定进程的工作目录(即启动路径)。
  • 示例bash pwdx 1234 输出1234: /path/to/process

2. 通过 /proc 文件系统

ls -l /proc/<PID>/exe
  • 作用/proc/<PID>/exe 是一个符号链接,指向进程的可执行文件路径。
  • 示例bash ls -l /proc/1234/exe 输出lrwxrwxrwx 1 user group 0 Jan 1 10:00 /proc/1234/exe -> /usr/bin/process

3. 通过 readlink 命令

readlink -f /proc/<PID>/exe
  • 作用:直接解析 /proc/<PID>/exe 的符号链接,得到完整路径。
  • 示例bash readlink -f /proc/1234/exe 输出/usr/bin/process

4. 通过 ps 命令结合 pwdx

ps aux | grep <process_name>
pwdx <PID>  # 使用上一步获取的PID
  • 作用:先通过 ps 找到进程的 PID,再用 pwdx 查看路径。

5. 通过 lsof 命令

lsof -p <PID> | grep cwd
  • 作用:列出进程打开的文件,cwd 表示当前工作目录。
  • 示例bash lsof -p 1234 | grep cwd 输出bash 1234 user cwd DIR /path/to/process

6. 查看进程启动时的命令行(/proc/<PID>/cmdline

cat /proc/<PID>/cmdline | tr '\0' ' '
  • 作用:显示进程启动时的完整命令(可能包含路径)。
  • 示例bash cat /proc/1234/cmdline | tr '\0' ' ' 输出/usr/bin/process --arg1 value1

总结

  • 推荐方法readlink -f /proc/<PID>/exe(直接获取二进制文件路径)或 pwdx <PID>(获取工作目录)。
  • 适用场景
    • 需要二进制路径 → 用 /proc/<PID>/exe
    • 需要工作目录 → 用 pwdxlsof

注意事项

  • 需要替换 <PID> 为实际的进程 ID(可通过 ps aux | grep <name> 获取)。
  • 部分进程(如内核线程)可能没有可访问的路径。