java getRuntime().exec() 不工作

java getRuntime().exec() does not work

我正在尝试对 运行 我的脚本使用 Java exec 并获取结果并在我的程序中使用它。

我有以下几行代码。

public static void main(String[] argv) throws Exception {

    Process p = Runtime.getRuntime().exec("phantomjs quebecPhantom.js");

    BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));

    String line = in.readLine();

    System.out.println(" [x] Sent '" + line + "'");
}

我希望我的 PhantomJS Script 被执行并且 line 变量获取 Script 的输出。但是,我的脚本没有执行(它应该花费更多时间并且应该生成一些我看不到的屏幕截图)。然后,line 变量采用 null 值。

我是否应该考虑更多的事情来执行我的脚本?

以上代码行的问题是我需要获取 phantomjs 的路径以及我要执行的命令中的脚本。然后该行应更改如下,

Process p = Runtime.getRuntime().exec("path to phantomjs" + " " + "path to the script");

以我为例

Process p = Runtime.getRuntime().exec("/usr/bin/phantomjs /home/name/quebecPhantom.js");