如何在eclipse中调用java代码中的shell脚本?

时间:2013-06-19 13:47:14

标签: java shell

我无法从我的java代码调用shell脚本。 这是我的代码。任何人都可以让我知道我在这里缺少什么。

protected boolean shellExecute() throws InterruptedException {
    try {
        Process p = Runtime.getRuntime().exec("/home/baibhav/try_scripts/javacall.sh");
    } catch (IOException e) {
        e.printStackTrace();
        return false;
    }
    return true;
}

3 个答案:

答案 0 :(得分:0)

尝试在脚本名称

之前使用sh
Process p = Runtime.getRuntime().exec("sh /home/baibhav/try_scripts/javacall.sh");

答案 1 :(得分:0)

如果您遇到IO异常,请检查您的脚本路径

答案 2 :(得分:0)

如果脚本有输出,则需要获取返回的Process'输出并从中读取进程不会阻止。

Process p = Runtime.getRuntime().exec("/home/baibhav/try_scripts/javacall.sh");
InputStream scriptStdout = p.getInputStream();
// Read from input stream and proecess it.

// In finally block:
scriptStdout.close();

你没有说你是否抛出异常或系统是否被绞死。如果它被绞死,那可能就是原因。

另外,请考虑改用ProcessBuilder