#!/bin/sh## java env #export JAVA_HOME=/data/jdk1.8.0_121 #export JRE_HOME=$JAVA_HOME/jre## service name #当前目录 SERVICE_DIR=$(cd `dirname $0`; pwd) echo "======$SERVICE_DIR" #jar包路径 JAR_DIR=`ls -ltr $SERVICE_DIR/*.jar| tail -1` echo "JAR_DIR==== $JAR_DIR" #jar包名字 SERVICE_NAME=${JAR_DIR##*/} #日志名字 LOG_NAME=${SERVICE_NAME%.*}PID=$LOG_NAME\.pidif test ! -d "./logs/" ;thenecho "logs/ directory does not exist,creating....."mkdir logs ficase "$1" instart)nohup java -jar -Xms1024m -Xmx1024m $SERVICE_NAME > logs/$LOG_NAME.log 2>&1 &echo $! > $SERVICE_DIR/$PIDecho "=== start $SERVICE_NAME" ;;stop)kill `cat $SERVICE_DIR/$PID`rm -rf $SERVICE_DIR/$PIDecho "=== stop $SERVICE_NAME"sleep 5P_ID=`ps -ef | grep -w "$SERVICE_NAME" | grep -v "grep" | awk '{print $2}'`if test "$P_ID" == "" ; thenecho "=== $SERVICE_NAME process not exists or stop success"elseecho "=== $SERVICE_NAME process pid is:$P_ID"echo "=== begin kill $SERVICE_NAME process, pid is:$P_ID"kill -9 $P_IDfi ;;restart)$0 stopsleep 2$0 startecho "=== restart $LOG_NAME" ;;*)echo "Usage:$0 {start|stop|restart}" ;;esac exit 0