shell启动,停止,重启应用脚本

shell启动,停止,重启应用脚本
详见下:

#! /bin/sh

jobId=$2
jarpath=$3
isProcessFailTask=$4

echo "=========execute config.sh action: $1 jobId: $2  jarpath: $3  isProcessFailTask: $4" > "$jobId"log.log

#start
start(){
    now=`date "+%Y-%m-%d %H:%M:%S"`  
        echo "-----[date]:$now">> "$jobId"log.log

    if [ ! -f "$jarpath" ];then
    echo "-----$jarpath nonexistence please check....">> "$jobId"log.log
    exit
    fi    

    echo "-----[start....] job:$jobId">>  "$jobId"log.log
        
       
 nohup java -server -Xms1000m -Xmx1000m -Xmn512m -XX:+UseConcMarkSweepGC
 -XX:ParallelCMSThreads=2 -XX:+CMSClassUnloadingEnabled 
-XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=80
 -Xloggc:logs/.out -verbose:gc -XX:+PrintGCDateStamps 
-XX:+PrintGCTimeStamps -XX:+PrintGCDetails 
-XX:+PrintTenuringDistribution -XX:+PrintCommandLineFlags 
-XX:+DisableExplicitGC -Dlog.info.file="$jobId".log -jar  $jarpath  100 
10 4 10 50  $jobId $isProcessFailTask   > startlog.log  &
        
        sleep 3s

        pid=`ps ax | grep $jobId | grep java | head -1 | awk '{print $1}'`
        if [ -n "$pid" ];then
          echo "-----[started..successfully.] job:$jobId" >>  "$jobId"log.log
         else
          echo "-----[start fail...] job:$jobId" >>  "$jobId"log.log
 
         fi
        
}
#stop
stop(){
        now=`date "+%Y-%m-%d %H:%M:%S"`
        echo "-----[date]:$now">>  "$jobId"log.log

        if [ ! -f "$jarpath" ];then
        echo "-----$jarpath nonexistence please check....">> "$jobId"log.log
        exit
        fi

        echo "-----[stopping...] job:$jobId...">>  "$jobId"log.log

        pid=`ps ax | grep $jobId | grep java | head -1 | awk '{print $1}'`
        if [ -n "$pid" ];then
          kill -9 $pid
          echo "-----[stopped..successfully.] job:$jobId...pid:$pid" >>  "$jobId"log.log
        else
          echo "-----[stop fail...]  cause: no pid----" >>  "$jobId"log.log
        fi
}


if [ ! "$4" ] ; then
         printf 'Usage: %s%s%s%s {start|stop|restart} {jobId} {jarpath} {isProcessFailTask}' >>  "$jobId"log.log
         exit 1
fi

case "$1" in
start)
  start
  ;;
stop)
  stop
  ;;
restart)
  stop
  start
  ;;
*)
    printf 'Usage: %s%s%s%s  {start|stop|restart} {jobId}' >>  "$jobId"log.log
  exit 1
  ;;
esac

echo "-----end" >>  "$jobId"log.log

转载于:https://my.oschina.net/stefanzhlg/blog/317348

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值