Spring Boot项目启动
我们知道打包好的Spring Boot项目这样启动
java -jar -Dfile.encoding=utf-8 test-0.0.1-SNAPSHOT.jar
在linux中,常常使用nohup后台启动其他程序,Spring Boot项目使用nohup启动如下
nohup java -jar -Dfile.encoding=utf-8 test-0.0.1-SNAPSHOT.jar &
如果使用上面命令启动,注意这时候远程terminal要主动exit退出,不这样做系统可能会杀掉上面启动的进程
由于开发需要,需要频繁地更新项目,写了两个shell脚本启动和关闭项目
启动项目脚本 start.sh
#!/bin/bash
cd project # ccd2002-0.0.1-SNAPSHOT.jar所在目录
nohup java -Xms128m -Xmx256m -jar -Dfile.encoding=utf-8 ccd2002-0.0.1-SNAPSHOT.jar &
关闭项目脚本
#!/bin/bash
sudo kill $(ps -aux | grep 'ccd2002' | awk 'NR==2{print $2}')
上面脚本使用ps命令查到ccd2002项目的信息,然后使用awk过滤信息获取项目pid,最后使用kill杀掉项目。为了方便大家理解,下面分解 sudo kill $(ps -aux | grep 'ccd2002' | awk 'NR==2{print $2}')
ps -aux | grep 'ccd2002'命令执行结果截图如下
ps -aux | grep 'test' | awk 'NR==2{print $2}'命令取出上图中指出的pid
awk命令对ps结果进行处理,awk 'NR==2{print $2}'中的NR=2表示ps结果的第二行,$2表示行中的第二个元素