【问题标题】:Starting via Java an proccess (script/executable) on a remote Linux machine通过 Java 启动远程 Linux 机器上的进程(脚本/可执行文件)
【发布时间】:2019-07-26 10:32:52
【问题描述】:

有没有一种方法可以在远程 Linux 应用程序上启动一个 java (web) 应用程序的进程?

它自己在 Linux 机器上运行的 Java(Web)应用程序(但 Windows 支持会很好)。
应该可以在远程 Linux 机器上运行操作系统级别的命令(仅限 Linux)。
Java 是否有内置的可能性使用 ssh 连接到另一台主机并运行命令并获取返回值、stdout、stderr?

【问题讨论】:

标签: java linux ssh remote-access


【解决方案1】:

您可以使用 ProcessBuilder 使用 bash 运行命令,如下所示(使用 ssh 的示例):

ProcessBuilder pb = new ProcessBuilder(new String{"/bin/bash", "-c", "ssh [ssh-options/commands]"});

Process pro = pb.start();

一旦你开始了这个过程,你就可以从中获取 outputStream、errorStream 和 exitCode。

以下是一些可能对您有所帮助的文档:

Running ssh commands

ProcessBuilder use examples 1 (including use of Runtime.getRuntime to create a process)

ProcessBuilder use examples 2

希望你觉得这很有用!

【讨论】:

  • 没有考虑过那个 - 但它也适合在远程 Linux 主机上执行吗?
  • 您应该能够通过 ssh 执行远程机器上可用的任何命令,并使用 ProcessBuilder 创建的进程获取它的输出。
猜你喜欢
  • 2017-09-08
  • 2017-03-27
  • 2015-05-03
  • 1970-01-01
  • 2012-08-23
  • 1970-01-01
  • 2018-03-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多