美文网首页
检视进程的环境变量

检视进程的环境变量

作者: song4 | 来源:发表于2017-08-21 11:30 被阅读290次

使用 env 命令可以查看系统当前的环境变量。有时候我们希望能够查看一个处在运行状态的进程的环境变量。

在 Linux 系统下面,进程的环境变量信息可以通过 /proc/<pid>/environ 文件查看:

$ cat /proc/<pid>/environ

该命令的输出格式不太容易读,所有的信息挤在了同一行。使用 tr 命令将空字符替换为换行符,将会使所有的环境变量按行显示:

$ cat /proc/<pid>/environ | tr \\0 \\n

在 Mac OSX 系统下面,可以使用下面的命令,其中的 -E 选项表示打印进程的环境变量:

$ ps -p <pid> -wwwE

不过上面提到的方法并没有覆盖到所有的情况。进程的环境变量来自于两部分:进程初始化时由加载器载入的环境变量(来自于系统、父进程或者 exec 系统调用的参数);和进程执行过程中由 setenv 函数动态设置或修改的环境变量。前面的命令仅会显示第一部分的环境变量。

进程的环境变量保存在全局变量 char **__environ 中。要想显示由进程动态修改的环境变量,首先必须有这个进程的符号表,然后通过 ptrace 系统调用(比如使用 gdb)来查看。

相关文章

  • 检视进程的环境变量

    使用 env 命令可以查看系统当前的环境变量。有时候我们希望能够查看一个处在运行状态的进程的环境变量。 在 Lin...

  • 给Rubyist的环境变量指南

    每个进程拥有自己的一组环境变量 每个程序都至少有一个进程,每个进程有一组环境变量。环境变量随着进程关闭而消失,当你...

  • 006.环境变量

    环境变量 ​ shell的环境变量作用于自身和它的子进程,每个进程都有其各自的环境变量,当一个进程被创建时,除了创...

  • shell中环境变量

    环境变量 查看环境变量命令 设置全局环境变量 在设置全局环境变量的进程所创建的子进程中,该变量都是可见的。创建全局...

  • shell中的几种变量的区别

    1、环境变量 2、临时变量 3、全局变量 env:来查询环境变量,环境变量能被当前进程和子进程调用,但...

  • 22.进程环境

    环境变量 (1)export命令查看环境变量(2)进程环境表介绍.每一个进程中都有一份所有环境变量构成的一个表格,...

  • vfork导致父进程环境变量被修改

    vfork版本 运行结果 可以看出,父进程没有设置环境变量MY_ENV,但是由于子进程12451 设置了环境变量,...

  • shell子进程修改父进程的环境变量值

    shell子进程修改父进程的环境变量值 脚本中的环境变量通过 export 导出,脚本中调用其他脚本使用这个变量 ...

  • 小鸟初学Shell编程(八)环境变量、预定义变量与位置变量

    环境变量 环境变量:每个Shell打开都可以获得到的变量。我们知道通过export的方式打开可以让子进程读取父进程...

  • Linux 进程

    一 环境变量 1 常见环境变量 2 程序获取环境变量 3 函数操作环境变量 函数文档 二 进程控制 1 fork函...

网友评论

      本文标题:检视进程的环境变量

      本文链接:https://www.haomeiwen.com/subject/pkscdxtx.html