Runtime.getRuntime().exec(command) を介して C コンパイル プログラムを起動する Java プログラムがあります。この「コマンド」は環境変数を使用します。
Java プログラムがまだ実行中であるが、exec(command) を呼び出す前に (別の外部プロセスによって) env 変数が変更された場合、C プログラムは古い env 値を保持したままになります。
Javaプロセスが再起動されたときにenv値が正しいため、CプログラムはメインのJavaプロセスから環境を取得しているようです。Javaプロセス内でenv変数を強制的に更新する方法はありますか?