![如何在 Windows 中将环境变量更改为正在运行的进程?](https://linux22.com/image/1511637/%E5%A6%82%E4%BD%95%E5%9C%A8%20Windows%20%E4%B8%AD%E5%B0%86%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E6%9B%B4%E6%94%B9%E4%B8%BA%E6%AD%A3%E5%9C%A8%E8%BF%90%E8%A1%8C%E7%9A%84%E8%BF%9B%E7%A8%8B%EF%BC%9F.png)
我尝试为 Windows 平台中的任何新子进程设置新的环境变量。
例如。我正在使用sublime
,然后build
从 sublime 运行命令。(构建命令可能是 BAT 文件)
我想更改 PATH,并希望所有新的构建过程都使用新路径。但是 sublime 使用旧路径,构建过程会继承此路径。
答案1
除非您将其作为调试器或分析器附加,否则似乎不可能修改正在运行的进程的环境。这也是一个坏主意。程序通常设计为检查一次环境变量,而不是持续检查它们是否被修改。除非您设法在进程读取环境之前的几毫秒内更改变量,否则您的更改将不会被注意到。
让 sublime 正确接受新的 PATH 会更好;或者让 sublime 运行一个脚本文件(BAT、Powershell 等等),首先设置 PATH,然后执行构建过程。