【问题标题】:Looking to get the env vars of a PID in BASH for a BASH script希望在 BASH 中获取 PID 的环境变量以获取 BASH 脚本
【发布时间】:2009-07-29 19:24:40
【问题描述】:

有什么办法吗?

我有一个脚本可以导出几个变量并运行一个组件。

我希望在进程运行时找出其中一些变量的实际值。 (此处适用,因为我会将这些值合并到另一个脚本/程序中)

变量本身是特定于 PID 的(如果这不是很明显,我对此很陌生。哈哈!)

谢谢!

【问题讨论】:

    标签: bash pid env


    【解决方案1】:

    您可以在 /proc/PID/environ 中查询所有已定义的环境变量

    【讨论】:

      【解决方案2】:

      我不确定我是否理解您的问题。但 ... 如果您在 bash 脚本中导出一些环境变量,那么这将在它正在执行的进程的环境中(这是因为子进程派生了创建它的进程的所有环境变量)。

      【讨论】:

        【解决方案3】:

        我检查了该进程的环境文件,但奇怪的是,它本身并没有包含为该进程定义的所有环境变量。

        导出的变量将特定于某个进程,但我并不总是知道它们。我正在寻找查询哪些环境变量是特定的并为进程声明的,以及它们的值是什么。

        【讨论】:

          【解决方案4】:

          嗯,如果我理解正确 - 我想我会让脚本响应“kill”信号,以便使用“trap”提取它的运行时信息。您可能会将元数据写入标准输出。

          也许在您的脚本中捕获 SIGHUP,并使其写入标准输出?

          【讨论】:

            【解决方案5】:

            如果是 Linux,你可以这样做:

            xargs -0 printf '%s\n' < /proc/${pid}/environ
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2019-04-11
              • 1970-01-01
              • 2013-10-26
              • 2013-06-10
              • 2013-08-25
              • 2020-11-12
              • 2018-10-01
              • 2019-10-22
              相关资源
              最近更新 更多