如果我们在一个流程中更改环境变量,那么更改是否也反映在其他正在运行的流程中?
答案 0 :(得分:4)
没有。每个进程都有自己的环境变量副本。子进程可以从其父进程继承环境变量,但这些是副本,因此如果父类的版本被修改,则不会更改。
答案 1 :(得分:2)
没有。更改仅传递给子进程,并且仅在更改后启动。来自Wikipedia:
在所有Unix和类Unix系统中,每个进程都有自己的一组私有环境变量。默认情况下,创建进程时,它会继承其父进程的重复环境,但父进程在创建子进程时所做的显式更改除外。
答案 2 :(得分:1)
通过. *filename* [*args*]
调用shell脚本时出现异常
或source *filename* [*args*]
语法。在这些子进程脚本中对环境所做的任何更改也会反映在原始环境中。