如何在系统重启后自动运行Grails应用程序?

问题描述 投票:0回答:1

我正在使用以下命令运行 Grails 4.0.10 应用程序:

nohup java -Dgrails.env=prod -Duser.timezone=US/Mountain -jar RCRoadRaceWeb4-0.1.jar &

应用程序连接到 MySQL 8 服务器。

当我使用命令重新启动系统时

sudo reboot

系统重新启动后。

当我使用

ps -aux
检查正在运行的进程时,我没有看到应用程序正在运行。

如何确定系统完成重启后命令:

nohup java -Dgrails.env=prod -Duser.timezone=US/Mountain -jar RCRoadRaceWeb4-0.1.jar &

自动执行,这样我就不必在系统重新启动后手动运行此命令来启动 Grails 应用程序?

ubuntu grails grails-4
1个回答
1
投票

为将来的任何人记录上面的评论,因为他们最终提供了解决方案。

nohup
不会使进程在重新启动后保持运行。为此,您需要设置服务或使用 crontab。 (可能还有其他方法。)

要配置 systemd 服务,这里和其他地方有很多资源;我不会在这里重复他们的内容。 OP 发现了上面评论中包含的一些有用的链接,无论它们保持可用多久,但一般来说搜索“如何创建 systemd 服务”都会得到有用的结果。

作为一种更简单的方法,您可以在 crontab 中添加一行(

crontab -e
进行编辑),它将在重新启动时调用脚本:
@reboot /path/to/script.sh
此脚本可以启动您需要的任何内容,例如数据库和应用程序。

我个人会推荐 systemd 方法,因为它更强大,但 crontab 完全足以用于本地开发和测试,而且可能更简单。

© www.soinside.com 2019 - 2024. All rights reserved.