#!/bin/sh
#
# appctrl	This shell script takes care of starting and stopping
#		the VccpDataServer (vccpdsctrl).
#
##########
# jar包存放的位置
prog_path="/usr/local/app/admin"
# jar包名称
prog_name="admin-1.1.0"
exec="java -Xms1024m -Xmx1024m -jar $prog_path""/""$prog_name"".jar"
#查看进程号
prog_pid=`ps -ef | grep $prog_name | grep -v grep | cut -c 10- | cut -c -5|sed 's/ //g'`
prog_time=`date --date='0 days ago' "+%Y/%m/%d %H:%M:%S"`
# get_pid
get_pid(){
    prog_pid=`ps -ef | grep $prog_name | grep -v grep | cut -c 10- | cut -c -5|sed 's/ //g'`
    echo $prog_pid
}
start(){
   prog_pid=$(get_pid);
   if [ -n "$prog_pid" ]; then
	echo ${prog_time} "$prog_name (pid:$prog_pid) ,and it's running."
	return 1
   fi
   echo ${prog_time} "$prog_name Starting ..."
   #export JAVA_HOME=/home/javahome
   #export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
   #export PATH=$PATH:$JAVA_HOME/bin
   echo $exec
   nohup $exec >/dev/null 2>&1 &
   
   sleep 10
   prog_pid=$(get_pid);   
   if [ -z "$prog_pid" ]; then
	echo ${prog_time} "Start $prog_name is failed."
	return 2
   fi  
   echo ${prog_time} "$prog_name (pid:$prog_pid) is running."
   echo ${prog_time} "Start $prog_name is ok."
   return 0   
}
stop(){
   echo ${prog_time} "$prog_name Stoping..."
   prog_pid=$(get_pid);
   if [ -n "$prog_pid" ]; then
	echo ${prog_time} "Found $prog_name (pid:$prog_pid)"	
	kill -9 $prog_pid
   fi
   sleep 3
   prog_pid=$(get_pid);
   if [ -n "$prog_pid" ]; then	
	echo ${prog_time} "Stop $prog_name is failed."
	return 1
   fi
   echo ${prog_time} "Stop $prog_name is ok."
   return 0
}
status(){
   prog_pid=$(get_pid);
   if [ -n "$prog_pid" ]; then
	echo ${prog_time} "$prog_name (pid:$prog_pid) is running..."
	return 0
   fi
   echo ${prog_time} "$prog_name is stoped."
   return 1
}
restart(){
    stop
    start
}
# See how we were called.
case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  status)
    status
    ;;
  restart)
    restart
    ;;
  *)
    echo #34;Usage: $0 {start|stop|status|restart}"
    exit 2
esac
exit $?