有人可以告诉我最好的方法,通过 Web Java 应用程序,如何在远程机器 (linux) 上运行应用程序以及如何知道该应用程序是否已经完成。我知道应用程序会自动终止,所以只想等待答案。
非常欢迎任何帮助或建议。
最佳答案
我对措辞感到困惑,所以我假设如下:Web 应用程序和远程应用程序在两台不同的机器上运行,远程应用程序在 Linux 上运行。
如果是这种情况,那么您最好使用 Java 的 SSH 库(有几个 - JSch、sshj、Ganymed SSH-2,连接到远程机器并在其上运行命令。这是一种比使用 ProcessBuilder 更好的方法,因为它将您从向终端提供密码的问题中抽象出来 (which can get quite tricky)。
我不确定您所说的这句话是什么意思:“我知道应用程序会自动终止,所以只是想等待答案。”所以我再假设您想知道远程进程是否成功终止。我不确定上面发布的任何 SSH 库是否允许您以一种非常重要的方式获取远程进程状态,因此您最好为您的远程命令编写一个 shell 包装器,它将返回一个可解析的消息。
如果您在同一台机器上运行两者,请使用 ProcessBuilder。
关于java - 如何在远程 Linux 上启动应用程序并等待响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6362748/