首页 > 社交 > 科普中国

liunx中jar包启动脚本

常驻编辑 科普中国 2022-05-05 脚本   进程   名称   位置
#!/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 $?

相关阅读:

  • 油猴怎么用(x浏览器怎么用油猴脚本)
  • 按键精灵怎么写脚本(按键精灵脚本办公实例)
  • 脚本哪个好(手游脚本app)
  • 如何写脚本(自己怎么写脚本)
  • 如何编写脚本(新手怎么写脚本)
  • ie浏览器如何升级(win10当前页面脚本发生错误)
  • 脚本是什么意思(短视频脚本范文)
  • kubernetes上部署
  • 我做开发测试犯的错
  • Web渲染性能,渲染顺序,看完这个你就全懂了(二)
    • 网站地图 |
    • 声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不做权威认证,如若验证其真实性,请咨询相关权威专业人士。