shell脚本启动spring boot项目

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'命令执行结果截图如下
shell脚本启动spring boot项目
ps -aux | grep 'test' | awk 'NR==2{print $2}'命令取出上图中指出的pid
shell脚本启动spring boot项目
awk命令对ps结果进行处理,awk 'NR==2{print $2}'中的NR=2表示ps结果的第二行,$2表示行中的第二个元素

上一篇:NR 5G 承载网


下一篇:sed awk sort uniq grep seq