linux系统微服务启动,Linux下shell通用脚本启动jar(微服务)

#!/bin/bash

#source /etc/profile

# Auth:Liucx

# Please change these parameters according to your real env.

# set Java Home: Remember that dolphin only supports JDK8!

JAVA_HOME=/usr/java/jdk1.8.0_162

# application directory

cd `dirname $0`

APP_HOME=`pwd`

APP_NAME="`cd ${APP_HOME} && find -name ‘*.jar‘ `"

JAR_HOME=`pwd |awk -F"/" ‘{print $NF}‘`

# Java JVM lunch parameters

if [ x"$JAVA_MEM_OPTS" == x ];then

JAVA_MEM_OPTS="-server -Xms512m -Xmx512m -Xmn128m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 "

fi

# waiting timeout for starting, in seconds

START_WAIT_TIMEOUT=30

psid=0

checkpid() {

javaps=`$JAVA_HOME/bin/jps -l | grep "$JAR_HOME"`

if [ -n "$javaps" ]; then

psid=`echo $javaps | awk ‘{print $1}‘`

else

psid=0

fi

}

start() {

checkpid

if [ $psid -ne 0 ]; then

echo "================================"

echo "warn: $APP_NAME already started! (pid=$psid)"

echo "================================"

else

echo -n "Starting $APP_NAME ..."

#-Dspring.profiles.active=dev 指定环境

nohup $JAVA_HOME/bin/java -jar -Dspring.profiles.active=dev -DCONFIG_ENABLE=true $JAVA_MEM_OPTS ${APP_NAME} >${JAR_HOME}.log 2>&1 &

checkpid

if [ $psid -ne 0 ]; then

echo "(pid=$psid) [OK]"

else

echo "[Failed]"

fi

fi

}

stop() {

sleep 2

checkpid

if [ $psid -ne 0 ]; then

echo -n "Stopping $APP_NAME ...(pid=$psid) "

#kill -9 $psid

kill -9 $psid

if [ $? -eq 0 ]; then

echo "[OK]"

else

echo "[Failed]"

fi

# checkpid

# if [ $psid -ne 0 ]; then

# stop

# fi

else

echo "================================"

echo "warn: $APP_NAME is not running"

echo "================================"

fi

}

status() {

checkpid

if [ $psid -ne 0 ]; then

echo "$APP_NAME is running! (pid=$psid)"

else

echo "$APP_NAME is not running"

fi

}

info() {

echo "System Information:"

echo "****************************"

echo `head -n 1 /etc/issue`

echo `uname -a`

echo

echo "JAVA_HOME=$JAVA_HOME"

echo `$JAVA_HOME/bin/java -version`

echo

echo "APP_HOME=$APP_HOME"

echo "APP_NAME=$APP_NAME"

echo "****************************"

}

case "$1" in

‘start‘)

start

;;

‘stop‘)

stop

;;

‘restart‘)

stop

echo "You restart the application ..."

start #

;;

‘status‘)

status

;;

‘info‘)

info

;;

*)

echo "Usage: $0 {start|stop|restart|status|info}"

exit 1

esac

原文:https://www.cnblogs.com/gaoyanbing/p/14443497.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值