繁体   English   中英

Java如何在父进程中设置环境变量

[英]Java how set environment variable in parent process

我有一个bash脚本,该脚本有时会启动Java程序。 在Java程序内部(出于多种原因),我需要设置一个环境变量,该变量也应在父bash进程中进行设置。 我怎样才能做到这一点?

我已经尝试了以下方法,但无法正常工作:

String[] commands = new String[]{"command", "arg1", "arg2"};
ProcessBuilder processBuilder = new ProcessBuilder(commands);
processBuilder.environment().put("my_var", "my_value");
Process proc = processBuilder.start();
BufferedReader stdInput = new BufferedReader(new InputStreamReader(proc.getInputStream()));
BufferedReader stdError = new BufferedReader(new InputStreamReader(proc.getErrorStream()));
proc.waitFor();

子进程无法在其子进程的父进程中创建新的环境变量。 环境的流向是向下的:父环境->子环境->子子环境等...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM