Linux使用脚本命令停止和启动jar

停止jar的sh文件名 settlement-backend-stop.sh

内部代码

SPRINGBOOT_JAR_NAME='settlement-backend.jar'
PIDS=`ps -ef | grep "$SPRINGBOOT_JAR_NAME" | grep java |awk '{print $2}'`
if [ -z "$PIDS" ]; then
  echo "警告: $SPRINGBOOT_JAR_NAME 未启动!"
  exit 1
fi
echo -e "正在停止 $SPRINGBOOT_JAR_NAME 进程[PIDS] ...\c"
for PID in $PIDS ; do
  kill $PID > /dev/null 2>&1
done
COUNT=0
while [ $COUNT -lt 1 ]; do
  echo -e "......\c"
  sleep 2
  COUNT=1
  for PID in $PIDS ; do
    PID_EXIST=`ps -f -p $PID | grep java`
    if [ -n "$PID_EXIST" ]; then
      COUNT=0
      break
    fi
  done
done
echo "$SPRINGBOOT_JAR_NAME 进程[PIDS], 已停止!"

启动jar的sh文件名 settlement-backend-start.sh

内部代码

/data/jdk1.8.0_231/bin/java -Xms5G -Xmx5G -XX:MetaspaceSize=256M -XX:+UseG1GC -Djava.security.egd=file:/dev/./urandom -Duser.timezone=Asia/shanghai -XX:OnOutOfMemoryError="/data/jdk1.8.0_231/bin/jstack -F %p >> ./logs/jstack-settlement-backend.log" -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./logs/settlement-backend-OOM.dump -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xloggc:./logs/settlement-backend-gc.gc  -jar /data/settlement-backend.jar > /data/logs/settl-console.log 2>&1 &

在linux上使用脚本:

# sh settlement-backend-stop.sh
# sh settlement-backend-start.sh



或者直接停止并启动的脚本:

cd /opt/workspace/im
tomcat_pid=`netstat -lntp | grep :9999 | awk '{printf $7}'|cut -d/ -f1`
[ -n "$tomcat_pid" ] && kill -9 $tomcat_pid
nohup java -jar -Dspring.profiles.active=sit  -Djava.io.tmpdir=/opt/workspace/im/tmpfile im-web-1.0.jar > /dev/null 2>&1 &
全部评论

相关推荐

01-30 22:03
门头沟学院 Java
用微笑面对困难:我滴妈,【俩月】【实习】【主管】仨debuff吃满了,独立设计开发的项目写了绝大占比的运营板块,你独立开发,那维护、问题复盘、日志更新、bug、策划书全是自己整的? 不建议写那么大,可以从小出发更容易
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务