美文网首页
jar包操作shell

jar包操作shell

作者: 昵称违规 | 来源:发表于2019-12-18 16:29 被阅读0次

#!/bin/bash

#jar包名

JAR_NAME=xxxxx.jar

#jar包路径 默认jar包路径和sh路径一致

JAR_PATH=$(cd `dirname $0`; pwd)

#JVM参数

JVM_OPTS="-Dname=$JAR_NAME  -Duser.timezone=Asia/Shanghai -Xms512M -Xmx512M -XX:PermSize=256M -XX:MaxPermSize=512M -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps  -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC"

if [ "$1" = "" ];

then

echo -e "\033[0;31m 未输入操作名 \033[0m  \033[0;34m {start|stop|restart|status} \033[0m"

exit 1

fi

if [ "$JAR_NAME" = "" ];

then

echo -e "\033[0;31m 未输入应用名 \033[0m"

exit 1

fi

#检查程序是否在运行

is_exist(){

pid=`ps -ef|grep java|grep $JAR_NAME|grep -v grep|awk '{print $2}' `

#如果不存在返回1,存在返回0

if [ -z "${pid}" ]; then

return 1

else

return 0

fi

}

#启动

function start()

{

is_exist

if [ $? -eq "0" ]; then

echo ">>> $JAR_NAME is already running PID=$pid <<<"

else

nohup java -jar  $JVM_OPTS $JAR_PATH/$JAR_NAME /dev/null  2>&1 &

echo ">>> start $JAR_NAME success... PID=$! <<<"

fi

}

#停止

function stop()

{

echo ">>> Stop $JAR_NAME <<<"

is_exist

if [ $? -eq "0" ]; then

kill -TERM $pid

echo ">>> $JAR_NAME (pid:$pid) exiting... <<<"

while [ $? -eq "0" ]

do

sleep 1

is_exist

done

echo ">>> $JAR_NAME exited. <<<"

else

echo ">>> $JAR_NAME already stopped. <<<"

fi

}

#重启

function restart()

{

stop

sleep 2

start

}

#状态

function status()

{

is_exist

if [ $? -eq "0" ]; then

echo ">>> $JAR_NAME is running... PID=$pid <<<"

else

echo ">>> $JAR_NAME is not running... <<<"

fi

}

case $1 in

start)

start;;

stop)

stop;;

restart)

restart;;

status)

status;;

*)

esac

相关文章

网友评论

      本文标题:jar包操作shell

      本文链接:https://www.haomeiwen.com/subject/xuuunctx.html