我在下面有我的代码。我正在尝试运行我的 ruby 脚本并获取标准,在这种情况下我真的不需要标准错误。出于某种原因,我在生产主机中根本无法获得任何输出,而且我只得到空字符串。相同的代码在我的桌面上运行良好。如果我自己运行我的 ruby 脚本,我可以从中获得输出。我的 ruby 脚本现在只有 puts 语句。有谁知道原因吗?是不是我需要某种块来等待 ruby 脚本完成?
ProcessBuilder processBuilder = new ProcessBuilder();
processBuilder.command("ruby", "tests.rb");
Process process = processBuilder.start();
BufferedReader bufferReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
StringBuilder output = new StringBuilder();
String line;
while ((line = bufferReader.readLine()) != null) {
System.out.println("Line is: " + line);
output.append(line + "\n");
}
bufferReader.close();
return output.toString();
我有运行 zsh 的 redhat 机器。