在Go中运行os / exec命令后获取环境

时间:2013-04-03 03:28:28

标签: go

我正在通过os.exec包运行外部命令。我可以使用Cmd.Env成员为外部命令指定环境。但是,该命令可能会修改该环境,我想捕获这些修改以便随后调用该命令。

如何在命令终止后立即找出环境状态?

1 个答案:

答案 0 :(得分:4)

我不相信有一个标准的界面可以以独立于平台的方式完成你所追求的目标。

在像Linux这样的系统上,进程的环境是通过进程地址空间中的environ全局变量来管理的。对本地环境的更改仅传播到新进程,因为此环境将传递给execve系统调用。

所以要做你想做的事,你真的需要你正在执行的过程的合作。也许你可以让它根据信号写出它的环境?