版权声明:powered by 大狼狗郑锴/Moshow魔手 https://blog.csdn.net/moshowgame/article/details/82621913
问题背景
手头有一个springboot项目,放在测试服务器跑,但是隔三差五的,就会中断,很好奇到底怎么回事。
其实这就是SpringBoot项目运行一段时间停止运行
、java -jar项目运行一段时间停止
、java程序运行一段时间自动关闭
的问题了。
解决方案
用java -jar xxxx-web-0.0.1-SNAPSHOT.jar >xxxx.log&
启动后项目看似脱离终端了,其实还是受终端影响,断开xshell之后,项目过段时间就会挂了。GG。
把启动语句加上nohup
后台运行就可以了。
nohup+java命令示范:
#docker
nohup docker-compose up > /usr/local/logs/microservice-tcbj-yytsg/log.txt &
#springboot
nohup java -jar microservice-web-0.0.1-SNAPSHOT.jar >microservice.log&
nohup是什么
用途:nohup
是linux一个命令,不挂断地运行,或者理解为后台运行。
语法:nohup Command [ Arg … ] [ & ]
无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。
如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。
如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。
退出状态:该命令返回下列出口值:
126 可以查找但不能调用 Command 参数指定的命令。
127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。
否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。