【发布时间】:2015-08-10 20:53:25
【问题描述】:
我在同一个网络上的 3 台 Windows 机器上运行 3 个网络爬虫(Java 程序)实例。
我想编写一个主 java 程序来监控所有 3 个网络爬虫程序,如果任何程序被终止,然后它会重新启动该特定程序。
我能够将客户端机器上的 java 程序绑定到一个套接字并从服务器监视该套接字,但是如果程序终止,我不知道如何重新启动程序。 我什至没有丝毫的想法,我应该如何实现这一目标。任何指导表示赞赏。
如何远程重启客户端应用程序?
【问题讨论】:
-
你想在这里实现什么?你要编写某种恶意软件吗?
-
[添加 JVM 关闭挂钩][1] 并作为新进程重新启动您的程序。 [1]:stackoverflow.com/questions/9317461/…
-
我认为这个问题太宽泛了。您可以使用某种监督者(由您或第三方编写,例如stackoverflow.com/questions/7629813/…)在本地监控进程并在需要时重新启动它们。您可以使其远程访问(服务器、消息传递)。在任何情况下,您都需要一些您想要启动的 Java 进程之外的东西。另一种选择是远程在命令行中运行命令。查看如何在 Windows 上执行此操作,很可能您必须启用协议或安装软件(SSH 只是一种选择)。
-
@BinkanSalaryman 如果进程只是挂起或意外死亡,则不会触发挂钩。它只会在虚拟机或多或少按计划退出时启动。
-
我在 linux 上使用 SSH 客户端以编程方式连接到服务器并在从属服务器上重新启动程序,这可能值得看看一些 windows SSH 服务器。
标签: java sockets networking cmd