shell命令查看程序执行时的环境变量

2014/08/2111:30:31 发表评论

   需求背景:众所周知,当我们在Linux系统中执行一个程序时,我们可以用ps命令查看到它的进程ID,但如何查看程序执行时的环境变量呢?这就是本节需要解决的问题。

1、以httpd进程为例

[root@SAFE ~]# ps aux | grep httpd
 4330 apache     0:00 /usr/sbin/httpd
 4439 apache     0:00 /usr/sbin/httpd</pre>

这里我们看到httpd的进程号为4330

2、根据进程号查看proc文件

[root@SAFE ~]# cat /proc/4330/environ 
TERM=linux
CUTIL_LOG_PATH=/tmp
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/asm/sbin:/asm/bin:/asm/sh:/root/bin:/asm/etc/init.dPWD=/LANG=CSHLVL=4LC_CTYPE=zh_CN_=/usr/sbin/httpd

   此时我们可以看到一团糟糕的字符串。我们使用tr命令转换一下:

[root@SAFE ~]# cat /proc/4330/environ | tr '\0' '\n'
TERM=linux
CUTIL_LOG_PATH=/tmp
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/asm/sbin:/asm/bin:/asm/sh:/root/bin:/asm/etc/init.d
PWD=/
LANG=C
SHLVL=4
LC_CTYPE=zh_CN
_=/usr/sbin/httpd

   此时就按行打印出程序执行的环境变量相关信息了,最后一行可以看到是程序的报告路径。

  • 微信扫码赞助
  • weinxin
  • 支付宝赞助
  • weinxin

发表评论

您必须才能发表评论!