通用服务启停shell脚本

###################################  
#通用启停脚本
#david  
###################################

APP_NAME=managenode

psid=0
checkpid() {
   managenodePid=`ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}'`
   if [[ -n "$managenodePid" ]]; then 
      psid=$managenodePid
   else
      psid=0
   fi
}

status() {  
   checkpid  
   if [[ $psid -ne 0 ]];  then  
      echo "$APP_NAME is running! (pid=$psid)"  
   else  
      echo "$APP_NAME is not running"  
   fi  
}

start() { 
   checkpid  
   if [[ $psid -ne 0 ]]; then  
      echo "================================"  
      echo "warn: $APP_NAME already started! (pid=$psid)"  
      echo "================================"  
   else  
      echo -n "Starting $APP_NAME ..."  
      java -jar -Dspring.profiles.active=dev $APP_NAME-0.0.1-SNAPSHOT.jar > managenode_log.out &    
      checkpid  
      if [[ $psid -ne 0 ]]; then  
         echo "(pid=$psid) [OK]"  
      else  
         echo "[Failed]"  
      fi  
   fi
}  

stop() {  
   checkpid  
   if [[ $psid -ne 0 ]]; then  
      echo -n "Stopping $APP_NAME ...(pid=$psid) "  
      kill -9 $psid
      sleep 1
      if [[ $? -eq 0 ]]; then  
         echo "[OK]"  
      else  
         echo "[Failed]"  
      fi  
      checkpid  
      if [[ $psid -ne 0 ]]; then  
         stop  
      fi  
   else  
      echo "================================"  
      echo "warn: $APP_NAME is not running"  
      echo "================================"  
   fi  
}

###################################  
#读取脚本的第一个参数($1),进行判断  
#参数取值范围:{start|stop|restart|status|info}  
#如参数不在指定范围之内,则打印帮助信息  
###################################  
case "$1" in  
   'start')  
      start  
      ;;  
   'stop')  
     stop  
     ;;  
   'restart')  
     stop  
     start  
     ;;  
   'status')  
     status  
     ;;  
  *)  
echo "Usage: $0 {start|stop|restart|status}"  
exit 1  
esac   
exit 0

转载于:https://my.oschina.net/ghw/blog/1619604

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值