使用 Java ProcessBuilder() 到 运行 Noxim 模拟器
Using Java ProcessBuilder() to run Noxim Simulator
基本上,我有一个问题是,我正在使用 ProcessBuilder () 到 运行 来自 java IDE 的 Noxim 模拟器,但是 shell 既没有打开也没有结果返回。它只是显示此错误:
退出错误代码:127
我尝试了相同的代码来执行 ping 命令,它起作用并返回了 shell 中显示的输出。我还使用了代码 运行 Kdeveloper,它运行良好。
注意:路径是正确的,因为它在 shell
中运行良好
ProcessBuilder processBuilder = new ProcessBuilder();
processBuilder.command("/home/sa/Bureau/NOXIM/noxim/bin/noxim");
try {
Process process = processBuilder.start();
int exitCode = process.waitFor();
System.out.println("\nExited with error code : " + exitCode);
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
阅读错误流也很重要。我想你会看到更多消息。看看这里:https://gist.github.com/th-schwarz/041e13ede396a869c7681b5ad637460c
读取错误流的最简单方法是:
processBuilder.redirectErrorStream(true);
基本上,我有一个问题是,我正在使用 ProcessBuilder () 到 运行 来自 java IDE 的 Noxim 模拟器,但是 shell 既没有打开也没有结果返回。它只是显示此错误: 退出错误代码:127 我尝试了相同的代码来执行 ping 命令,它起作用并返回了 shell 中显示的输出。我还使用了代码 运行 Kdeveloper,它运行良好。 注意:路径是正确的,因为它在 shell
中运行良好ProcessBuilder processBuilder = new ProcessBuilder();
processBuilder.command("/home/sa/Bureau/NOXIM/noxim/bin/noxim");
try {
Process process = processBuilder.start();
int exitCode = process.waitFor();
System.out.println("\nExited with error code : " + exitCode);
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
阅读错误流也很重要。我想你会看到更多消息。看看这里:https://gist.github.com/th-schwarz/041e13ede396a869c7681b5ad637460c
读取错误流的最简单方法是:
processBuilder.redirectErrorStream(true);