从java运行远程linux机器上的进程(命令)

时间:2014-12-31 06:05:00

标签: java linux communication

我想从我的java代码在另一台服务器上运行命令。

实施例。我的项目在服务器ip下运行,如---- xx.xxx.xxx.xx

但我必须在另一个服务器上运行命令,如----yyy.yy.yyy.yy(我拥有此ip的所有凭据和访问权限)

有可能吗?任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:3)

您可以采用多种方式,一种方法是在两个实例上创建自己的服务器客户端,并通过某种安全协议进行通信,以指示远程运行的代理执行命令

如果您不想重新发明轮子,可以使用SSH作为底层通信协议,使用sshj可以在远程计算机上连接并执行命令


答案 1 :(得分:3)

是的,你可以,其中一种方式:

  • 在目标服务器(yyy.yyy.yyy.yyy)上,运行一个侦听来自客户端计算机(xxx.xxx.xxx.xxx)的命令的进程。在两个远程jvms之间有不同的通信方式,您可以选择其中任何一个进行套接字通信。

  • 在目标计算机JVM上,您可以使用ProcessBuilder运行从客户端计算机接收的命令。

或者只搜索已经可用于此类任务的框架。