2017-02-13 83 views
1

我遵循Spring网站上的标准教程以及一些私人文章。春季启动应用程序作为服务 - 运行在前台而不是守护进程

  1. 创建JAR的符号链接到/etc/init.d/中
  2. 服务MYAPP启动

服务启动,但它开始就像在前台一个正常的应用程序。就像我跑

Java的罐子在终端上myapp.jar

我如何让它在后台就像主流的Linux服务

运行这是我的脚本

sudo chmod 500 myapp.jar 
sudo /path/to/myapp.jar /etc/init.d/myapp 

我运行服务为

sudo service myapp start 

这是现在运行应用程序我ñ前景扬起了控制台,而不是作为服务运行

+0

相关:http://stackoverflow.com/questions/21503883/spring-boot-application-as-a-service – g00glen00b

+0

这不是重复,答案是,你必须设置embeddedLaunchScriptProperties>模式“服务“在spring-boot-maven-plugin插件中!这样你的应用程序将作为服务运行。 –

回答

-1

而就在java -jar yourApp.jar结束在你的服务脚本添加&,这个叉子一个过程,而不是使用一个调用start的过程。

java -jar yourApp.jar & 
+0

它是一个干净的解决方案。因为......即使官方文件也没有这样说! – madhairsilence

+0

这是一个在后台运行进程的干净解决方案,无论它在哪里使用(init.d或终端/ bash中的其他地方)。如果你想要更先进的检查,例如防止双重启动,你可能想看看http://stackoverflow.com/questions/11203483/run-a-java-application-as-a-service-on-linux,作为@Avinash指出...... –

+0

行..但为什么这些文件中没有提到这些。那么预计Spring Boot会以前台运行吗? – madhairsilence

相关问题