linux中项目常用的start.sh和stop.sh

start.sh

#!/bin/bash

#启动服务名称
SERVER_NAME=test
#服务部署路径
DEPLOY_DIR=/opt/app/test
# 服务日志输出路径
STDOUT_FILE=${DEPLOY_DIR}/logs/test.log
#服务启动的jar或war
WAR_FILE=${DEPLOY_DIR}/test.jar

PIDS=`ps -f | grep java | grep "${DEPLOY_DIR}" |awk '{print $2}'`
if [ -n "$PIDS" ]; then
    echo ">>> ERROR: The ${SERVER_NAME} already started!"
    echo ">>> PID: $PIDS"
    exit 1
fi

#jvm参数配置
JAVA_OPTS="-server -Xmx2g -Xms2g "
echo -e ">>> Starting the ${SERVER_NAME} ...\c"
nohup java $JAVA_OPTS -jar ${WAR_FILE} > $STDOUT_FILE 2>&1 &
COUNT=0
while [ $COUNT -lt 1 ]; do    
    echo -e ".\c"
    sleep 1 
    COUNT=`ps -f | grep java | grep "${DEPLOY_DIR}" | awk '{print $2}' | wc -l`
    if [ $COUNT -gt 0 ]; then
        break
    fi
done

PIDS=`ps -f | grep java | grep "${DEPLOY_DIR}" | awk '{print $2}'`
echo "OK ! -->>> PID: $PIDS  -->>> STDOUT: $STDOUT_FILE "

stop.sh

#!/bin/bash

#服务部署路径
DEPLOY_DIR=/opt/app/test
#停止服务名称
SERVER_NAME=test

PIDS=`ps -ef | grep java | grep "${DEPLOY_DIR}" |awk '{print $2}'`
if [ -z "$PIDS" ]; then
    echo ">>> ERROR: The $SERVER_NAME does not started!"
    exit 1
fi

echo -e ">>> Stopping the $SERVER_NAME ...\c"
for PID in $PIDS ; do
    kill $PID > /dev/null 2>&1
done

COUNT=0
while [ $COUNT -lt 1 ]; do    
    echo -e ".\c"
    sleep 1
    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 "OK! -->>> PID: $PIDS"


  • 当才华还配不上野心,就静下来学习
  • blog地址:https://starsea.51vip.biz
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值