java - 可执行 jar 永久运行

标签 java microservices

我正在使用命令提示符运行一个可执行 jar。但在命令提示符关闭后,执行停止。我需要永久运行它。因为这是一个微服务。 我怎样才能实现这个目标 我正在使用 java -jar JARPATH

最佳答案

有几种选择:

1)如第一个答案和评论中提到的那样创建服务。

2) 在后台运行一个进程。

nohup java -jar my-service.jar &

其中 nohup 命令允许进程在用户退出 shell 时继续在后台运行。

要终止服务,你需要杀死进程。

您可以创建一个 run-script 将 PID 写入变量(或文本文件):

#!/bin/bash
my-service &
export SERVICE_PID=$!

并在 stop-script 中杀死 PID:

#!/bin/bash
kill -9 $SERVICE_PID

3) 在容器中运行进程,例如 jetty worker

在容器中运行进程允许有一些优势,并且允许管理许多不同的选项,而不仅仅是“运行和停止”。

关于java - 可执行 jar 永久运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53610704/

相关文章:

java - JOptionPane.showInputDialog 使我的程序崩溃

java - 创建单词转换图

java - 创建 OBJECT 数组时如何分配内存(堆栈和堆引用)?

transactions - 2PC vs Sagas(分布式事务)

api - 如何将API网关与微服务和JWT结合使用?

java - JPA 2 - INNER JOIN 再次调用 Query

java - setOnItemClickListener 和 onItemClick 有什么区别

postgresql - 生产中的DOCKER环境

soa - 微服务与 SOA 不同

spring-boot - RESTful 微服务故障转移和负载平衡