centos7.9查看进程执行文件路径

177 阅读2分钟

在 CentOS 7.9 上,可以通过多种方法查看进程的执行文件路径。以下是几种常用的方法及其详细说明:

方法 1:使用 ps 命令

ps 命令可以列出当前系统中的进程信息,结合 ps 的 -o 选项可以显示进程的完整路径。

ps -o pid,comm,args -p

pid:进程 ID。

comm:进程名称。

args:进程的完整命令行参数,包括路径。

:需要查询的进程 ID。

示例

假设你想查询进程 ID 为 1234 的进程的执行文件路径:

ps -o pid,comm,args -p 1234

输出可能如下:

PID COMMAND COMMAND

1234 /usr/bin/nginx /usr/bin/nginx -c /etc/nginx/nginx.conf

方法 2:使用 pwdx 命令

pwdx 命令可以直接显示进程的当前工作目录。

pwdx

示例

假设你想查询进程 ID 为 1234 的进程的当前工作目录:

pwdx 1234

输出可能如下:

1234: /path/to/working/directory

方法 3:使用 readlink 命令

readlink 命令可以解析符号链接,结合 /proc//exe 文件可以获取进程的执行文件路径。

readlink -f /proc//exe

示例

假设你想查询进程 ID 为 1234 的进程的执行文件路径:

readlink -f /proc/1234/exe

输出可能如下:

/usr/bin/nginx

方法 4:使用 ls 命令

ls 命令也可以查看 /proc//exe 文件的链接目标。

ls -l /proc//exe

示例

假设你想查询进程 ID 为 1234 的进程的执行文件路径:

ls -l /proc/1234/exe

输出可能如下:

lrwxrwxrwx 1 root root 0 Jan 1 12:34 /proc/1234/exe -> /usr/bin/nginx

方法 5:使用 lsof 命令

lsof 命令可以列出进程打开的文件,包括执行文件路径。

lsof -p | grep exe

示例

假设你想查询进程 ID 为 1234 的进程的执行文件路径:

lsof -p 1234 | grep exe

输出可能如下:

nginx 1234 root 10r REG 253,0 123456 123456 /usr/bin/nginx

方法 6:使用 pgrep 和 ps 结合

如果你不知道进程 ID,但知道进程名称,可以使用 pgrep 和 ps 结合查询。

pgrep -a <process_name>

示例

假设你想查询名为 nginx 的进程的执行文件路径:

pgrep -a nginx

输出可能如下:

1234 /usr/bin/nginx -c /etc/nginx/nginx.conf

总结 如果你已知进程 ID,可以使用 ps、readlink 或 ls。

如果你不知道进程 ID,可以使用 pgrep 结合 ps。

lsof 也可以用于查询进程的执行文件路径。