有什么办法可以做到这一点?
我有一个脚本可以导出一些变量并运行一个组件。
我正在寻找在进程运行时找出其中一些变量的实际值。(这里适用,因为我会将这些值合并到另一个脚本/程序中)
变量本身是特定于 PID 的(如果这不明显,我对此很陌生。哈哈!)
谢谢!
您可以查询 /proc/PID/environ 以获取所有已定义的环境变量
嗯,如果我理解正确 - 我想我会让脚本响应“kill”信号,以便使用“trap”提取它的运行时信息。您可能会将元数据写入标准输出。
也许在您的脚本中捕获 SIGHUP 并将其写入标准输出?
如果是 Linux,你可以这样做:
xargs -0 printf '%s\n' < /proc/${pid}/environ
我不确定我是否理解你的问题。但是......如果你在你的bash脚本中导出一些环境变量,那么这将是在它正在执行的进程的环境中(这是因为子进程派生了创建它的进程的所有环境变量)。
我检查了该进程的环境文件,但奇怪的是,它本身并不包含该进程的所有定义的环境变量。
导出的变量将特定于某个进程,但我并不总是知道它们。我正在寻找查询哪些环境变量是特定的并为进程声明的,以及它们的值是什么。