温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Linux下shell通用脚本启动jar

发布时间:2021-06-03 17:47:37 来源:亿速云 阅读:307 作者:Leah 栏目:开发技术

Linux下shell通用脚本启动jar?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

vim app_jar.sh

#!/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

使用方式:

app_jar.sh start app_jar.sh stop app_jar.sh restart

关于Linux下shell通用脚本启动jar问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI