当VM(虚拟机)重启/启动时,如何重新启动Java应用程序?
问题描述:
我正在使用java 1.8和spring-boot-starter-parent 1.5.6.RELEASE和swagger2 2.6.1。我们使用以下命令在VM中运行应用程序,当VM(虚拟机)重启/启动时,如何重新启动Java应用程序?
nohup java -jar myApplication.jar &
当VM停止时,我的应用程序正在停止。所以手动我需要启动我的应用程序。我不想那样手动。我需要以编程方式重新启动我的应用程序,或者任何脚本都可以这样做,这对我来说也很好。
虚拟机启动时如何重新启动我的应用程序?
请提供您的输入。
答
在使用systemd(官方文档here)(如Debian,Ubuntu的,或Fedora)一个Linux发行版,创建一个service很简单:
我们需要创建一个服务文件告诉systemd如何启动你的应用程序。像含这些线路myApplication.service
创建/etc/systemd/system
例如命名为一个文件:
[Unit]
Description="A description of what my application does"
[Service]
ExecStart=/path/to/java -jar /path/to/your/myApplication.jar
[Install]
WantedBy=multi-user.target
(从an example in the docs派生。)
然后运行systemctl enable myApplication.service
为根,以启用它,这将使其在启动时运行。
还有很多你可以学习; systemd的文档相当不错。你也许可以看看引入systemd的blog story,因为它提供了一些可以做的事情的“销售点”。
寻找操作系统选项。可能是Linux cron作业。 –
将其作为服务启动 –
如何开始作为服务?你能详细解释一下吗..谢谢! – SST