在 Linux 中,查看某个进程的环境变量有多种方式,取决于你是否有该进程的 PID。下面按常见场景总结。
/proc 查看(最常用 ✅)cat /proc/PID/environ
环境变量之间用 \0(空字符)分隔,直接看不太友好,可以转换一下:
cat /proc/PID/environ | tr '\0' '\n'
或:
xargs -0 -L1 echo < /proc/PID/environ
✅ 示例:
cat /proc/1234/environ | tr '\0' '\n' | grep PATH
ps -ef | grep 进程名
或:
pidof 进程名
env
或:
printenv
查看单个变量:
echo $PATH
⚠️ 注意:
这只能查看当前 shell,不能查看其他进程。
ps e -p PID
或(更详细):
cat /proc/PID/cmdline | tr '\0' ' '
cat /proc/PID/environ | tr '\0' '\n'
gdb(高级 / 调试场景)适用于无法通过 /proc 查看的情况(如某些容器或权限受限):
gdb -p PID
在 gdb 中:
info environ
或
show environment
如果是 systemd 服务:
systemctl show 服务名 --property=Environment
或查看进程:
cat /proc/$(pidof 服务名)/environ | tr '\0' '\n'
docker inspect 容器ID
或进入容器后:
cat /proc/1/environ | tr '\0' '\n'
/proc/PID/environ/proc/PID/environ 是内核提供的接口,最可靠# 查看某进程环境变量
cat /proc/PID/environ | tr '\0' '\n'
如果你愿意,可以告诉我:
我可以给你更精确的命令。