我使用下面的代码通过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();
我需要对其进行一些修正吗?
答案 0 :(得分:0)
Runtime.exec仅启动指定的程序/进程。您可以在有时间连接并发送命令之前立即销毁它。至少你应该.waitFor()来完成它。
你不会说脚本是否产生(任何)输出。如果确实如此,并且您希望在输出中发生任何事情,比如在某个地方显示或保存,您需要从Process.getInputStream()中读取并执行您的操作。此外,如果您的脚本需要输入(不太常见),您需要将其写入.getOutputStream()。