在 Linux 系统中,查看进程的位置(即进程对应的可执行文件路径)有以下几种常用方法:
ps
命令 + 进程信息ps -p <PID> -o cmd=
# 或
ps -aux | grep <进程名>
1234
的进程路径bash
ps -p 1234 -o cmd=
-o cmd=
显示完整的命令路径(可能包含参数)。ps -auxww
(ww
显示完整宽度)。pwdx
命令(进程工作目录)pwdx <PID>
bash
pwdx 1234
bash
1234: /path/to/working/directory
lsof
命令(列出打开文件)lsof -p <PID> | grep txt
bash
lsof -p 1234 | grep txt
bash
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 1234 root txt REG 253,0 1234567 123456 /usr/bin/bash
txt
类型表示进程的可执行文件,NAME
列即为路径。readlink
解析 /proc
虚拟文件系统readlink -f /proc/<PID>/exe
bash
readlink -f /proc/1234/exe
bash
/usr/bin/python3
/proc/<PID>/exe
是进程可执行文件的符号链接,readlink -f
解析真实路径。pgrep
+ readlink
组合(通过进程名)readlink -f /proc/$(pgrep -n <进程名>)/exe
nginx
进程路径bash
readlink -f /proc/$(pgrep -n nginx)/exe
which
或 whereis
(仅限已知命令名)which <命令名>
# 或
whereis <命令名>
bash
which python3
$PATH
中的命令,不适用于自定义路径启动的进程。需求 | 推荐命令 |
---|---|
已知 PID,查路径 | readlink -f /proc/<PID>/exe |
已知进程名,查路径 | pgrep -n <名> \| xargs -I{} readlink -f /proc/{}/exe |
查看进程的工作目录 | pwdx <PID> |
查看进程的完整命令行 | ps -p <PID> -o cmd= |
root
权限才能查看其他用户的进程路径(如 sudo
)。[kthreadd]
),无实际路径。