簡體   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