node.js - 在运行时更改 ENV 变量
问题描述
是否可以在已加载并启动的 NodeJS 进程中注入/更改当前环境变量?
在应用程序中公开接口不是一个选项,重新启动也不是一个有效的选项。
该进程在 docker 容器内运行,可能需要特定的 NodeJS 版本。
编辑:必须从应用程序源外部进行更改,因此process.env.ENV_VAR = "new env"
无法进行。
解决方案
无法修改正在运行的进程的环境变量。这不是 NodeJS 进程独有的。这就是 env var 在类似 UNIX 的操作系统上的工作方式。变量存在于进程的地址空间内。虽然它们通常最初放置在堆栈顶部附近的众所周知的位置,但当前 var 可能位于堆中的任意地址。环境变量是有意为每个进程私有的。因此,除非程序提供用于更改其环境变量的 API,否则一旦程序运行,您就无法修改它们。
推荐阅读
- c# - 如何在 C# 中查看所选应用程序的所有注册表更改
- kotlin - Ktor - 如何在 Kotlin-Multiplatform 通用模块中使用纯 Kotlin 解码 base64 令牌?
- mysql - 如何将根 MySQL 系统用户限制为 GCP Cloud SQL 中的单个主机?
- vim - 更改文件类型上的 Vim 航空公司配色方案
- python - Mac上的Tkinter奇怪
- python - 如何在 python opencv 中设置 SIFT 直径/比例/放大镜?
- html - 您好我想知道为什么在某些宽度的屏幕中溢出是隐藏的?
- python-2.7 - 如何在 python 2.7 中将油门本身的范围从 1000 转换为 2000 到 0 到 1024?
- petitparser - 使用 petitparser 解析分隔字符串
- python - 使用 f2py 回调函数时出错