如何在已经加载并启动的NodeJS进程中注入/更改当前环境变量?
暴露一个应用程序内部接口不是一个选项,重新启动也不是一个有效的选项。
该进程正在运行在Docker容器中,需要特定的NodeJS版本是可能的。
编辑:必须从应用程序源代码之外进行更改,因此无法执行process.env.ENV_VAR = "new env"
。
如何在已经加载并启动的NodeJS进程中注入/更改当前环境变量?
暴露一个应用程序内部接口不是一个选项,重新启动也不是一个有效的选项。
该进程正在运行在Docker容器中,需要特定的NodeJS版本是可能的。
编辑:必须从应用程序源代码之外进行更改,因此无法执行process.env.ENV_VAR = "new env"
。
你应该使用一个在容器之间共享环境变量的 Redis 存储。
environ
的全局变量指向环境变量的基础部分。问题是,除非您将一个特定的 var=value 替换为相同或更短长度的新字符串,否则无法改变该 blob。您不需要内核扩展来完成此操作。事实上,通过内核扩展进行操作会非常困难。您需要使用像 gdb 或 lldb 这样的调试器。 - Kurtis Rader