linux springboot 启动脚本
简单粗暴的脚本
#! /bin/bash # 获取进程号 pid=`ps aux | grep "java -jar" | grep -v "grep" |awk '{print $2}'` echo ${pid} if [[ $pid -gt 0 ]];then `kill -9 $pid` fi `nohup java -jar boot-nginx.jar > boot-nginx.out 2>&1 &`
更加全面的重新启动服务
#! /bin/bash # 获取进程号 # grep -v 是反向查找的意思,比如 grep -v grep 就是查找不含有 grep 字段的行 pid_cmd="ps -ef |grep java |grep -v grep |awk '{print \$2}'" pid=$(eval $pid_cmd) # 打印进程号 echo $pid # 判断是否存在进程号 if [[ $pid -gt 0 ]];then # 可以理解为操作系统发送一个通知告诉应用主动关闭. kill -15 ${pid} echo '优雅关闭中 等待5秒钟' sleep 5 pid=$(eval ${pid_cmd}) if [[ $pid -gt 0 ]];then # 是操作系统从内核级别强制杀死一个进程. echo '优雅关闭无效,强制关闭中' kill -9 $pid fi fi echo '启动中...' `nohup java -jar xxx.jar > xxx.out 2>&1 &`