Freewind @ Thoughtworks scala java javascript dart 工具 编程实践 月结 math python english [comments admin] [feed]

(2014-09-16) 如何查看系统传给某一个进程的环境变量

广告: 云梯:翻墙vpn (省10元) 土行孙:科研用户翻墙http proxy (有优惠)

我们经常需要让系统向某个java程序传入一些环境变量,如何检查它到底向该进程传递了哪些变量呢?

找到进程id

$ ps -ef | grep java
12006     1050     1  0 12:25 ?        00:00:04 java ...

在mac上查看

$ ps -wwE -p 1050

将会以一个长长的字符串打印出:

1050 ?? 67:40.42 /usr/bin/java -Dcom.sun.management.jmxremote -Xmx2048m -XX:MaxPermSize=512m -jar /Application
/Jenkins/jenkins.war SHELL=/bin/bash TMPDIR=/var/folders/5f/qnywwqmx3h5fxnwlcssp2sr00000gn/T/ USER=jenkins __CF
_USER_TEXT_ENCODING=0x1F5:0:0 JENKINS_HOME=/Users/Shared/Jenkins/Home PATH=/usr/bin:/bin:/usr/sbin:/sbin PWD=/
CATALINA_OPTS= -Dcom.sun.management.jmxremote SHLVL=0 HOME=/Users/jenkins LOGNAME=jenkins SECURITYSESSIONID=1c2
92 com.apple.java.jvmTask=CommandLine JAVA_ARCH=x

在linux上查看

$ xargs --null --max-args=1 < /proc/1050/environ

将会以列表形式打印出:

SHELL=/bin/sh
TERM=linux
USER=me
PATH=/sbin:/usr/sbin:/bin:/usr/bin
PWD=/
HOME=/home/me
SHLVL=2
LOGNAME=me
comments powered by Disqus