从JAVA运行时通过plink执行Unix脚本

从JAVA运行时通过plink执行Unix脚本,java,plink,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(); 是否需要对其进行一些更正?Run

我正在使用下面的代码通过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();

是否需要对其进行一些更正?

Runtime.exec仅启动指定的程序/进程。在它有时间连接并发送命令之前,您立即将其销毁,如您所愿。至少你应该这样做。等待它完成


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

您会遇到什么错误?当您尝试通过命令提示符时,命令运行正常吗?@Hirak:Cmd工作正常,我在Tom Cat日志中没有收到任何错误。folderI建议您首先在hello world主程序中尝试,并检查是否有任何错误。你的代码看起来不错。唯一的建议是使用字符串数组,而不是字符串cmd。类似字符串cmd[]={E:\\plink.exe,-ssh..};