java - 启动/停止 Java 服务类

标签 java command-line jetty kill-process

<分区>

我正在开发一个 Java 应用程序,我希望它在 Linux 中作为服务应用程序运行。

我们将 Jetty 用于我们的其他应用程序之一,并查看它调用的停止脚本:

> java -jar start.jar --stop

我如何才能在我们的新应用程序上复制此功能,以便停止脚本不必是 Kill 命令?

最佳答案

以下是我之前的处理方式:

当您的应用程序/服务启动时,让它尝试在特定端口上打开一个套接字并进行监听。如果它成功打开端口,它是第一个实例,应该可以正常运行。如果是第二个实例(带有--stop 标志的实例),它将无法绑定(bind)端口。在这种情况下,第二个实例应通过套接字向第一个实例发送停止命令,然后自行关闭。

关于java - 启动/停止 Java 服务类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35747930/

相关文章:

shell - 命令行工具的使用语句中打印的参数顺序是否有标准?

command-line - 你如何在 doskey 宏文件中写注释?

java - 无法启动本地 Vaadin 测试站点

java - 注解指定的bean名称与现有错误冲突但仅在gradle中

java - 以二进制格式保存数组

java - 关于 if(true) { }

windows - 如何使用 Windows 批处理文件查找特定目录?

http - 为 REST 请求禁用来自 Jetty 服务器的客户端缓存

Java 泛型不兼容类型链表迭代器

java - com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException : Unknown column 'raj' in 'field list' at sun. 反射(reflect)