用脚本启动和关闭jar包或者war包

启动Spring Boot

启动

后台启动,启动日志输出到out

nohup java -jar weibo-interface-1.0.jar >/dev/null 2>&1 &
if [ $? -eq 0 ]
then
	echo "start `hostname` Success!"
else
	echo "start `hostname`Failed!"
fi

关闭

pidfile=`jps -l | grep 'weibo-interface-1.0.jar' | awk '{print $1}'`
kill -9 $pidfile
if [ $? -eq 0 ]
then
	echo "stop `hostname` Success!"
else
	echo "stop `hostname` Failed!"
fi

自用

启动

重新引入配置文件
引入外部jar包
打印pid到WeiboSerachServer.pid

#!/bin/sh
# WeiboSerachServer
export JAVA_HOME=/data/lib/jdk8
export APP_HOME=.
export CLSPATH=$APP_HOME/cis-ws-1.0.jar
export APP_LIB=$APP_HOME/lib
#------------------------------------------------
echo UserAnalysisServerV2 created by zhaidw
echo -------------------------------------
echo using JAVA_HOME: $JAVA_HOME

for i in $APP_LIB/*.jar; do
  export CLSPATH=$CLSPATH:$i
done

export CLASSPATH=$APP_HOME/config:$CLSPATH

echo using classpath: $CLASSPATH
echo -------------------------------------


nohup $JAVA_HOME/bin/java -server -Xmx6g com.st.cis.main.WeiboSerachServer cis-ws >/dev/null 2>&1 &

#$JAVA_HOME/bin/java -server -Xmx2g com.st.cis.main.WeiboSerachServer

if [ $? -eq 0 ]
then
    echo "WeiboSerachServer start Success!"
else
    echo "WeiboSerachServer start Faild!"
    exit;
fi

echo $! > WeiboSerachServer.pid

关闭

#!/bin/bash
pidfile=`ps -ef | grep 'WeiboSerachServer' | grep -v "grep" | grep cis-ws$ | awk '{print $2}'`
kill -9 $pidfile
if [ $? -eq 0 ]
then
	echo "stop `hostname` WeiboSerachServer Success!"
else
	echo "stop `hostname` WeiboSerachServer Failed!"
fi

启动和关闭

#!/bin/sh

#BIN_NAME="simple-sb-service-0.0.1.jar"
BIN_NAME="fuyoukache-knowledgebase-service-0.0.1.jar"
SERVICE_PORT=38889

BASE_DIR=$(pwd)
COMMAND_STR=""
# local function defin ##
function helper() {
    echo "-h help"
    echo "-b basedir"
    echo "-c command(start | stop | restart)"
    exit 1
}

##  end of function defin ###
while getopts "hb:c:" arg
do
    case $arg in
        h)
            helper
            ;;
        b)
            BASE_DIR=$OPTARG
            ;;
        c)
            COMMAND_STR=$OPTARG
            ;;
        ?)
            helper
            exit 1
    esac
done
LOG_DIR="${BASE_DIR}/log"
CONF_DIR="${BASE_DIR}/conf"
DATA_DIR="${BASE_DIR}/data"
LIB_DIR="${BASE_DIR}/lib"
BIN_PATH="${LIB_DIR}/${BIN_NAME}"
echo "=======>load config<====="
echo "BASE_DIR : ${BASE_DIR}"
echo "CONF_DIR : ${CONF_DIR}"
echo "DATA_DIR : ${DATA_DIR}"
echo "LIB_DIR : ${LIB_DIR}"
echo "BIN_PATH : ${BIN_PATH}"
echo "COMMAND_STR: ${COMMAND_STR}"
echo "=======>end config<====="

app_conf_file="${CONF_DIR}/application.properties"
log_conf_file="${CONF_DIR}/logback.xml"
if [ ! -e ${app_conf_file} ];then
    echo "${app_conf_file} is not found"
    helper
    exit 1
fi
if [ ! -e ${log_conf_file} ]; then
    echo "${log_conf_file} is not found"
    helper
    exit 1
fi

SYSTEM_OPT="-Xms256M -Xmx512M -Xss1024k"
APP_OPT=" --spring.config.location=${app_conf_file} --logging.config=${log_conf_file} \
    --server.port=$SERVICE_PORT -b ${BASE_DIR} -e xxx "

function getpid() {
  pid=$(ps -elf | grep ${BIN_PATH} | grep -v 'grep' | awk -F ' ' '{print $4}')
  echo $pid
}

function start() {
  pid=$(getpid)
  if [ ! -z $pid ];then
      echo "service already run as pid:$pid"
      exit 1
  fi
  COMMAND="nohup java -jar ${SYSTEM_OPT} ${BIN_PATH} ${APP_OPT} $@ > /dev/null 2>> ${LOG_DIR}/${BIN_NAME}.err &"
  echo $COMMAND
  eval $COMMAND
}

function stop() {
    pid=$(getpid)
    echo $pid
    if [ -z $pid ];then
        echo "service not running."
        exit 1
    fi
    echo "stoping...$pid"
    kill $pid
    while [ -e /proc/$pid ];
    do
      echo -n '='
      sleep 1
    done
    echo "$pid has stoped!"
}

if [ "start" == "$COMMAND_STR" ];then
    start
elif [ "stop" == "$COMMAND_STR" ];then
    stop
elif [ "restart" == "$COMMAND_STR" ];then
    stop && start
else
    helper
fi

/dev/null :代表空设备文件
> :代表重定向到哪里,例如:echo “123” > /home/123.txt
1 :表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null"
2 :表示stderr标准错误
& :表示等同于的意思,2>&1,表示2的输出重定向等同于1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java识堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值