java - 如何在远程 Linux 上启动应用程序并等待响应

标签 java linux shell process

有人可以告诉我最好的方法,通过 Web Java 应用程序,如何在远程机器 (linux) 上运行应用程序以及如何知道该应用程序是否已经完成。我知道应用程序会自动终止,所以只想等待答案。

非常欢迎任何帮助或建议。

最佳答案

我对措辞感到困惑,所以我假设如下:Web 应用程序和远程应用程序在两台不同的机器上运行,远程应用程序在 Linux 上运行。

如果是这种情况,那么您最好使用 Java 的 SSH 库(有几个 - JSchsshjGanymed SSH-2,连接到远程机器并在其上运行命令。这是一种比使用 ProcessBuilder 更好的方法,因为它将您从向终端提供密码的问题中抽象出来 (which can get quite tricky)

我不确定您所说的这句话是什么意思:“我知道应用程序会自动终止,所以只是想等待答案。”所以我再假设您想知道远程进程是否成功终止。我不确定上面发布的任何 SSH 库是否允许您以一种非常重要的方式获取远程进程状态,因此您最好为您的远程命令编写一个 shell 包装器,它将返回一个可解析的消息。

如果您在同一台机器上运行两者,请使用 ProcessBuilder。

关于java - 如何在远程 Linux 上启动应用程序并等待响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6362748/

相关文章:

Atomic 中的 Java 计算

java - 如果 specfile 中的某些条件不满足,如何中止 rpm 包的安装?

regex - sed提取两个字符串之间的文本

docker - 在 Dockerfile 中设置 bind9 时面临问题

linux - 如何忽略以空白字符开头的行?

java - 窗口显示在最后一个位置而不是第一个位置

java - 如何通过云形成部署java 17 lambda函数

c# - Linux 上带有 .NET 核心的 Roslyn : How can I load an external project?

linux - 如何按文件类型递归查找文件并将它们复制到目录?

java - Hibernate:即使我在配置文件中设置了 batch_size,为什么还要手动 flush()?