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

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

防爆。 我的项目运行在服务器ip下,如—- xx.xxx.xxx.xx

但我必须在另一台服务器上运行命令,就像—- .yyy.yy.yyy.yy(我拥有所有凭据并访问此ip)

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

是的,你可以,其中一个方法:

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

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

或者只是一些搜索框架已经可用于这样的任务。

您可以通过多种方式来创建自己的服务器客户端,并通过某种安全协议进行通信,以指示远程正在运行的代理执行命令

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


  • 从远程计算机调用ping命令并定位到google.com的示例代码