嘿,当我尝试用 java 构建一个在远程 Linux 服务器上执行命令并返回输出进行处理的程序时,我遇到了以下问题...
基本上我已经安装了带有 SSH 客户端的 Cygwin,并且想要执行以下操作:
打开 Cygwin,
发送命令“user@ip”;
返回输出;
发送命令“密码”;
返回输出;
发送多个其他命令,
返回输出;
...等等...
到目前为止:
进程 proc = Runtime.getRuntime().exec("C:/Power Apps/Cygwin/Cygwin.bat");
效果很好,只是我不知道如何尝试下一步。
有什么帮助吗?
最佳答案
快速方法:不要通过 cygwin。将您的登录信息和命令作为参数传递给 ssh。
更好的方法:安装并使用开源且非常成熟的Sun Grid Engine并使用其 DRMAA绑定(bind) Java 来执行您的命令。您也可以考虑切换到脚本语言(您的任务非常像脚本)。如果你这样做DRMAA有Perl , Ruby和 other bindings以及。
关于java - 通过java运行时和cygwin发送和接收多个ssh命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2459486/