我正在使用以下命令运行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应用程序。
我很感激你的帮助!谢谢!
1条答案
按热度按时间bzzcjhmw1#
为将来的任何人记录上面的评论,因为他们最终提供了一个解决方案。
nohup
不会在重启后保持进程运行,要做到这一点,您需要设置一个服务或使用crontab(可能还有其他方法)。要配置systemd服务,这里和其他地方有很多资源;OP在上面的评论中找到了一些有用的链接,不管它们能用多久,但总的来说,搜索“如何创建systemd服务”会得到有用的结果。
作为一种更简单的方法,您可以在crontab(
crontab -e
to edit)中添加一行,它将在重新引导时调用脚本:@reboot /path/to/script.sh
此脚本可以启动任何您需要的内容,例如数据库和应用程序。我个人推荐systemd方法,因为它更健壮,但是crontab对于本地开发和测试来说已经足够了,而且可能更简单。