Supervisord 在 Java 进程中配置了环境变量

Supervisord configured Environment variable in Java process

我的 java 进程使用环境变量 "config"。当我使用 "java -Dconfig=... ..."

从命令行拍摄过程时它有效

现在我已经配置了 Supervisord 并添加了程序。我也添加了 conf 文件中 supervisor 标签下的以下条目

environment=KEY="value",config="my path"

我认为这个值应该传播到所有子进程,因此我的子 java 进程应该能够使用 System.getProperty() 访问它。但它没有获得名称为 "config".

的任何环境变量

任何帮助:)

Supervisord的environment配置参数是操作系统(Linux)环境变量。另一方面,使用 -D 传递的参数是 JVM 选项。正确的方法是在 command.

中传递 JVM 选项
command=java -Dconfig=... 

如果命令参数包含空格,请不要忘记引号。参见 http://supervisord.org/configuration.html#program-x-section-values