如何编写 java 程序来启动远程机器上的程序?

How to write a java program to start a program in a remote machine?

我是位于同一网络上的 3 Windows 台机器中的 运行 网络爬虫(Java 程序)的 3 个实例。

我想编写一个监控所有 3 个网络爬虫程序的主 java 程序,如果任何程序终止,然后它会重新启动该特定程序。

我可以将客户端计算机上的 java 程序绑定到一个套接字并从服务器监视套接字,但我不知道如果程序终止如何重新启动该程序。 我什至没有丝毫的想法,我应该如何实现这一目标。任何指导表示赞赏。

如何远程重启客户端应用程序?

显然,您需要远程服务器上的另一个组件才能 运行 死掉的 Java 应用程序。

您可以利用 PsExec 运行 远程爬虫,当您发现它已死时。

https://technet.microsoft.com/de-de/sysinternals/bb897553.aspx

tasklist 命令可以列出远程机器上的任务,因此您可以创建自己的 "nagios"-very-light-edition。

tasklist /S computer 应该列出远程系统上的任务 "computer"。

如果这是一个严肃的、专业销售的、不仅仅是内部解决方案,您需要为远程任务投资一个控制程序,并可能决定 运行 应用程序服务器或类似 运行时间。通过这种方式,您可以更好地控制当前 运行ning 版本等。更新的分发将更加容易,并且您可以使用众所周知的监控系统来远程检查爬虫的状态。