拦截进程读取的环境变量

拦截进程读取的环境变量

我有一个进程正在读取一些环境变量来设置自身,但我不确定是哪一个。编程语言对我来说很陌生,所以假设我没有源代码。

有什么方法可以让我嗅探它正在读取哪些变量,就像我知道这个过程正在打开哪些文件strace一样lsof

答案1

对于 C 程序甚至更多程序,strace 也可用于解决此问题。但对于 Java 程序则不行;

/tmp >strace -v -s 1024 /bin/ls |& grep execve

execve("/bin/ls", ["/bin/ls"], ["MANPATH=/usr/share/man", "HOME=/home/zoule", "HOSTNAME=fry01339", "SSH_TTY=/dev/pts/4", "LC_ALL=fr_FR.UTF-8", "USER=zoule",  "LC_TERMINAL=iTerm2", "_=/usr/bin/strace"]) = 0

相关内容