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

标签 java environment-variables supervisord

我的java进程需要一个环境变量“config”。当我使用“java -Dconfig=... ...”从命令行拍摄进程时,它起作用了

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

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

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

任何帮助:)

最佳答案

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

command=java -Dconfig=... 

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

关于java - Supervisord在Java进程中配置环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44484204/

相关文章:

Java Assert语句用法,考试认证1Z0-851

c - 将 PATH 环境变量拆分为单独的文件路径

php - 未使用Supervisor D在Docker容器中填充Apache访问/错误日志

java - Openshift - 找不到适用于 jdbc 的驱动程序 :mysql

java - 常见unix命令(特别是dd)的java库?

java - 为什么如果我直接添加答案,我的列表函数在这个问题中不起作用,但如果我创建列表的副本则起作用

R "no visible binding for global variable"在子例程中创建变量并返回环境时的注意事项

gradle - 如何从 Gradle 构建中设置环境变量?

go - 为什么systemd无法启动golang web app,没有答案

laravel - 在 centos 7 上安装和配置 supervisord 以永久运行 Laravel 队列