<分区>
我正在开发一个 Java 应用程序,我希望它在 Linux 中作为服务应用程序运行。
我们将 Jetty 用于我们的其他应用程序之一,并查看它调用的停止脚本:
> java -jar start.jar --stop
我如何才能在我们的新应用程序上复制此功能,以便停止脚本不必是 Kill 命令?
<分区>
我正在开发一个 Java 应用程序,我希望它在 Linux 中作为服务应用程序运行。
我们将 Jetty 用于我们的其他应用程序之一,并查看它调用的停止脚本:
> java -jar start.jar --stop
我如何才能在我们的新应用程序上复制此功能,以便停止脚本不必是 Kill 命令?
最佳答案
以下是我之前的处理方式:
当您的应用程序/服务启动时,让它尝试在特定端口上打开一个套接字并进行监听。如果它成功打开端口,它是第一个实例,应该可以正常运行。如果是第二个实例(带有--stop
标志的实例),它将无法绑定(bind)端口。在这种情况下,第二个实例应通过套接字向第一个实例发送停止命令,然后自行关闭。
关于java - 启动/停止 Java 服务类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35747930/