从JAVA Runtime通过plink执行Unix脚本

时间:2014-05-03 11:00:34

标签: java plink

我使用下面的代码通过Java触发Unix脚本。我无法弄清楚为什么这个命令不起作用。

    String cmd="E:\\plink.exe -ssh -l user -pw p123 10.xxx.xx.xx \"sh /home/try.sh\"";
    System.out.println(cmd);
    Process process=Runtime.getRuntime().exec(cmd) ;
    process.destroy();

我需要对其进行一些修正吗?

1 个答案:

答案 0 :(得分:0)

Runtime.exec仅启动指定的程序/进程。您可以在有时间连接并发送命令之前立即销毁它。至少你应该.waitFor()来完成它。

你不会说脚本是否产生(任何)输出。如果确实如此,并且您希望在输出中发生任何事情,比如在某个地方显示或保存,您需要从Process.getInputStream()中读取并执行您的操作。此外,如果您的脚本需要输入(不太常见),您需要将其写入.getOutputStream()。