Linux自启动服务守护进程,jar包启动服务shell脚本实现

 

#!/bin/bash

AppName=platform-admin.jar

#启动参数

JVM_OPTS="-Dname=$AppName -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"

#获取路径

APP_HOME=`pwd`

#打印路径

#echo "我是路径:$APP_HOME"

#日志路径

LOG_PATH=$APP_HOME/logs/$AppName.log

#判断空参

if [ "$1" = "" ];

then

echo -e "\033[0;31m 请输入参数 \033[0m \033[0;34m {start|stop|restart|status} \033[0m"

exit 1

fi

#判断应用设置

if [ "$AppName" = "" ];

then

echo -e "\033[0;31m 请配置应用名 \033[0m"

exit 1

fi

#启动服务

function start()

{

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

if [ x"$PID" != x"" ]; then

echo "$AppName is running..."

else

nohup java -jar $JVM_OPTS $APP_HOME/$AppName > /dev/null 2>&1 &

echo "Start $AppName success..."

fi

}

#停止服务

function stop()

{

echo "Stop $AppName"

PID=""

query(){

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

}

query

if [ x"$PID" != x"" ]; then

kill -TERM $PID

echo "$AppName (pid:$PID) exiting..."

while [ x"$PID" != x"" ]

do

sleep 1

query

done

echo "$AppName exited."

else

echo "$AppName already stopped."

fi

}

#重启

function restart()

{

stop

sleep 2

start

}

#查看状态

function status()

{

PID=`ps -ef |grep java|grep $AppName|grep -v grep|wc -l`

if [ $PID != 0 ];then

echo "$AppName is running..."

else

echo "$AppName is not running..."

fi

}

case $1 in

start)

start;;

stop)

stop;;

restart)

restart;;

status)

status;;

*)

esac

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值