首页 > 解决方案 > 如何使用 Java 执行 Shell 命令并在执行命令时直接打印输出

问题描述

如何使用 Java 执行 Shell 命令?

同时,我在执行命令时直接打印输出,例如ping命令,测试与特定位置的连接并给我连接期间每个节点的响应时间,它给我一组行在不同的时间间隔。我想一回来就打印这些行,我该怎么做?

标签: java

解决方案


考虑以下代码。

ProcessBuilder pb = new ProcessBuilder("ping", "localhost");
pb.inheritIO();
try {
    Process p = pb.start();
    int exitStatus = p.waitFor();
    System.out.println(exitStatus);
}
catch (InterruptedException | IOException x) {
    x.printStackTrace();
}

我相信上面的内容可以满足您的要求,并且我会说代码要简单得多。

请参阅类的javadocjava.lang.ProcessBuilder


推荐阅读