springboot项目运行
最近在将项目挂载在云服务器上的时候出现了点小问题
-
运行项目:
java -jar xxx.jar (当ctrl+c后项目停止运行,因为这是前端执行)
-
修改后:
java -jar xxx.jar & (后台执行,但是在ssh关闭后,项目就直接停止运行了)
-
而且我想获取到项目的运行日志,网上搜到下面这种运行方式后:
java -jar xxx.jar > catalina.out 2>&1 & (后台执行,而且能够打印项目运行日志,可惜在ssh关闭后还是停止了)
-
搜索后发现是少了nohup
nohup java -jar xxx.jar > catalina.out 2>&1 &(按这样运行后,项目在ssh关闭后仍能继续运行,并且打印日志)
-
目前项目是能够正常运行了,但是每次项目启动都需要打这一长串的命令。并且关闭项目只能先查找,然后再杀死进程比较麻烦,shell脚本文件控制项目启动/停止:
start.sh(启动)
#!/bin/bash nohup java -jar xxx.jar > catalina.out 2>&1 &
stop.sh(停止)
#!/bin/bash PID=$(ps -ef | grep xxx.jar | grep -v grep | awk '{ print $2 }') if [ -z "$PID" ] then echo Application is already stopped else echo kill $PID kill $PID fi
-
满心欢喜的保存运行后
./stop.sh
报错了:
bash: stop.sh: command not found
原来是没有给他正确的授权:
chmod a+x stop.sh
授权后再次运行:
./stop.sh
仍然报错:
bash: ./stop.sh: /bin/bash^M: bad interpreter: No such file or directory
原来是因为这两个文件都是我在windows(dos格式)上保存的,linux(unix格式)不支持这个文件格式
通过vi进入文件:vi stop.sh
修改文件格式:
set ff=unix
保存退出:
:wq
再次运行后成功:
./stop.sh
参考引用
https://www.cnblogs.com/sueyyyy/p/9958836.html
https://www.cnblogs.com/zyb-pp/p/6429448.html