• Linux下运行jar


    1:java -jar test.jar  或者 java -jar test.jar 参数1 参数2 参数3
       //这种方式特点是ssh窗口关闭时,程序中止运行.或者是运行时没法切出去执行其他任务。
    
    2:nohup java -jar test.jar &
       //nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
       //当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。
    
    3:nohup java -jar test.jar >temp.txt &
       //后台运行,并把日志文件输入到你指定的文件中,没有则会自动创建

     jar运行shell

    #!/bin/sh
    ## java env
    export JAVA_HOME=/usr/local/jdk
    export JRE_HOME=$JAVA_HOME/jre
    
    API_NAME=reechauto-cloud-evplatform-1.0.0-SNAPSHOT
    JAR_NAME=$API_NAME.jar
    #PID  代表是PID文件
    PID=$API_NAME.pid
    
    #使用说明,用来提示输入参数
    usage() {
        echo "Usage: sh 执行脚本.sh [start|stop|restart|status]"
        exit 1
    }
    
    #检查程序是否在运行
    is_exist(){
      pid=`ps -ef|grep $JAR_NAME|grep -v grep|awk '{print $2}' `
      #如果不存在返回1,存在返回0     
      if [ -z "${pid}" ]; then
       return 1
      else
        return 0
      fi
    }
    
    #启动方法
    start(){
      is_exist
      if [ $? -eq "0" ]; then 
        echo ">>> ${JAR_NAME} is already running PID=${pid} <<<" 
      else 
        nohup $JRE_HOME/bin/java -server -Xms512m -Xmx1024m -Xss512k -XX:MaxNewSize=512M -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled  -jar $JAR_NAME >/dev/null 2>&1 &
        echo $! > $PID
        echo ">>> start $JAR_NAME successed PID=$! <<<" 
       fi
      }
    
    #停止方法
    stop(){
      #is_exist
      pidf=$(cat $PID)
      #echo "$pidf"  
      echo ">>> api PID = $pidf begin kill $pidf <<<"
      kill $pidf
      rm -rf $PID
      sleep 2
      is_exist
      if [ $? -eq "0" ]; then 
        echo ">>> api 2 PID = $pid begin kill -9 $pid  <<<"
        kill -9  $pid
        sleep 2
        echo ">>> $JAR_NAME process stopped <<<"  
      else
        echo ">>> ${JAR_NAME} is not running <<<"
      fi  
    }
    
    #输出运行状态
    status(){
      is_exist
      if [ $? -eq "0" ]; then
        echo ">>> ${JAR_NAME} is running PID is ${pid} <<<"
      else
        echo ">>> ${JAR_NAME} is not running <<<"
      fi
    }
    
    #重启
    restart(){
      stop
      start
    }
    
    #根据输入参数,选择执行对应方法,不输入则执行使用说明
    case "$1" in
      "start")
        start
        ;;
      "stop")
        stop
        ;;
      "status")
        status
        ;;
      "restart")
        restart
        ;;
      *)
        usage
        ;;
    esac
    exit 0
  • 相关阅读:
    一道关于js声明变量,var和let的面试题
    自执行匿名函数: (function() { /* code */ })();
    2017-09-26 开通博客第一天。 希望以后能够坚持更新,记录自己的成长,努力汲取各位朋友的知识见解。
    mybatis中根据日期模糊查询
    <![CDATA[文本内容]]>
    mybatis中sql标签和include标签
    Redis 安装
    Redis 简介
    从尾到头打印链表
    替换空格
  • 原文地址:https://www.cnblogs.com/feiyun126/p/8647664.html
Copyright © 2020-2023  润新知