Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在通过 os.exec 包运行外部命令。我可以使用 Cmd.Env 成员为外部命令指定环境。但是,该命令可能会修改该环境,我想为后续调用该命令捕获这些修改。
如何在命令终止后立即找出环境状态?
我不相信有一个标准接口可以以独立于平台的方式完成您所追求的事情。
例如,在像 Linux 这样的系统上,进程的环境是通过environ进程地址空间中的全局变量来管理的。对本地环境的更改只会传播到新进程,因为此环境已传递给execve系统调用。
environ
execve
所以要做你想做的事,你真的需要你正在执行的过程的合作。也许你可以让它写出它的环境来响应一个信号?