要查看进程的环境变量,可以使用如下命令:**
cat /proc/$PID/environ
# pgrep 查看进程 ID
kchou@home-x470:~$ pgrep machine
888
# 查看环境变量
kchou@home-x470:~$ sudo cat /proc/888/environ
LANG=en_US.UTF-8LC_ADDRESS=zh_CN.UTF-8LC_IDENTIFICATION=zh_CN.UTF-8LC_MEASUREMENT=zh_CN.UTF-8LC_MONETARY=zh_CN.UTF-8LC_NAME=zh_CN.UTF-8LC_NUMERIC=zh_CN.UTF-8LC_PAPER=zh_CN.UTF-8LC_TELEPHONE=zh_CN.UTF-8PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binNOTIFY_SOCKET=/run/systemd/notifyWATCHDOG_PID=888WATCHDOG_USEC=180000000INVOCATION_ID=517c33ea343c469087f2473352ac434eJOURNAL_STREAM=9:36930
文件/proc/PID/environ是一个包含环境变量以及对应变量值的列表。每 一个变量以name=value的形式来描述,彼此之间由null字符(\0)分隔。
可以将cat命令的输出通过管道传给tr,将其中的\0替换成\n,来生成一份易读的报表。
kchou@home-x470:~sudo cat /proc/888/environ | tr '\0' '\n'
LANG=en_US.UTF-8
LC_ADDRESS=zh_CN.UTF-8
LC_IDENTIFICATION=zh_CN.UTF-8
LC_MEASUREMENT=zh_CN.UTF-8
LC_MONETARY=zh_CN.UTF-8
LC_NAME=zh_CN.UTF-8
LC_NUMERIC=zh_CN.UTF-8
LC_PAPER=zh_CN.UTF-8
LC_TELEPHONE=zh_CN.UTF-8
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
NOTIFY_SOCKET=/run/systemd/notify
WATCHDOG_PID=888
WATCHDOG_USEC=180000000
INVOCATION_ID=517c33ea343c469087f2473352ac434e
JOURNAL_STREAM=9:36930
tr: Translate, squeeze, and/or delete characters from standard input, writing to standard output.
