我正在使用命令提示符运行一个可执行 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/