如何在远程 Linux 上启动应用程序并等待答复

发布于 2024-11-15 15:01:44 字数 122 浏览 0 评论 0 原文

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

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

Someone can tell me the best way, through a web Java application, how to run an application on a remote machine (linux) and how to know if this application has already completed. I know the application terminates automatically, so just wanted to wait for the answer.

any help or advice are very welcome.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

二智少女猫性小仙女 2024-11-22 15:01:45

我对措辞感到困惑,因此我将假设以下情况:Web 应用程序和远程应用程序在两台不同的计算机上运行,​​远程应用程序在 Linux 上运行。

如果是这种情况,那么您使用 Java 的 SSH 库会更好(有几个 - JSchsshj, Ganymed SSH-2,连接到远程计算机并在其上运行命令,这是比使用 ProcessBuilder 更好的方法,因为它使您免于向终端提供密码的问题。 )。

(这可能会变得相当棘手 通过这样的声明:“我知道应用程序会自动终止,所以只是想等待答案。”所以我将做出另一个假设,即您想知道远程进程是否成功终止。我不确定上面发布的任何 SSH 库是否允许您以一种不平凡的方式获取远程进程状态,因此您最好为远程命令编写一个 shell 包装器,该包装器将返回可解析的消息。

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

I was confused by the wording, so I will assume the following: the web application and the remote application are running on two different machines, with the remote application on Linux.

If that is the case, then you would be better off using a SSH library for Java (there are several - JSch, sshj, Ganymed SSH-2, to connect to the remote machine and run commands on it. This is a better approach than using ProcessBuilder, for it abstracts you from the problem of providing your password to the terminal (which can get quite tricky).

I'm not sure what you meant by this statement: "I know the application terminates automatically, so just wanted to wait for the answer." so I'll make another assumption that you want to know if the remote process terminated successfully or not. I'm unsure if any of the SSH libraries posted above, will allow you to get the remote process status in a non-trivial way, so you are better off writing a shell wrapper to your remote command that will return a parseable message.

If you are running both on the same machine, use ProcessBuilder.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文