【问题标题】:Using Java ProcessBuilder() to run Noxim Simulator使用 Java ProcessBuilder() 运行 Noxim 模拟器
【发布时间】:2022-01-21 09:01:18
【问题描述】:

基本上,我有一个问题,我正在使用 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();
        }

【问题讨论】:

    标签: java shell processbuilder


    【解决方案1】:

    读取错误流也很重要。我想你会看到更多消息。看看这里:https://gist.github.com/th-schwarz/041e13ede396a869c7681b5ad637460c

    读取错误流的最简单方法是: processBuilder.redirectErrorStream(true);

    【讨论】:

    • 谢谢,这条指令向我显示了准确的错误,我已修复它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多