在 Debian(以及大多数 Linux 发行版)中,可以通过多种方式查看某个进程的可执行文件路径。下面按常用程度给你总结几种方法。
/proc 文件系统(最常用、最可靠)每个进程在 /proc 下都有一个以 PID 命名的目录。
ls -l /proc/PID/exe
或
readlink /proc/PID/exe
示例:
readlink /proc/1234/exe
输出:
/usr/bin/nginx
✅ 这是最准确的方法,即使进程名被修改也能查到真实路径。
ls -l /proc/PID/cwd
或
readlink /proc/PID/cwd
ps 命令ps -p PID -o exe=
示例:
ps -p 1234 -o exe=
如果你不知道 PID,可以先查:
ps aux | grep nginx
lsoflsof -p PID | grep txt
示例:
lsof -p 1234 | grep txt
输出类似:
nginx 1234 root txt REG 8,1 1234567 /usr/sbin/nginx
which(仅适用于已知命令名)⚠️ 不推荐用于查正在运行的进程,只能查命令在 PATH 中的位置。
which nginx
top / htop 查看(辅助)toptop
按 c 显示完整命令路径。
htophtop
也可显示完整命令路径(需开启相关设置)。
ps -eo pid,exe,cmd
或只看运行中进程:
ps -eo pid,exe,cmd | grep -v "exe="
pgrep nginx
readlink /proc/$(pgrep nginx | head -1)/exe
systemctl status nginx
再结合 /proc/PID/exe
✅ 首选
readlink /proc/PID/exe
✅ 次选
ps -p PID -o exe=
✅ 补充
lsof -p PID | grep txt
如果你愿意,可以告诉我:
我可以给你更精确的命令。