zoukankan      html  css  js  c++  java
  • linux shell脚本调用java main方法 代码传值

    #!/bin/bash
    #description: ljdjService
    export PRG_HOME=/ainmc/work/toptea/dataTransfer
    PRG_KEYWORD=projectName
    PRG=$PRG_HOME/server.sh
    JAVA_HOME=/aa/bb/jdk1.8.0_111  #jdk安装位置
    LOGCFG="-Dlogback.configurationFile=$PRG_HOME/conf/logback.xml"
    FILE_ENCODING="-Dfile.encoding=utf-8"
    jvmOpt="-Xms2048m -Xmx2048m -XX:PermSize=256M -XX:MaxPermSize=512m"
    PRG_RUN_USER=nmcuser
    pidFile=$PRG_HOME/server.pid
    MAIN_CLASS=com.ai.vv.aa.Main # main方法的路径
    jarDir=$PRG_HOME/lib
    transferType="$2"
    cd $PRG_HOME
    function start(){
            
            echo "will start $PRG_KEYWORD $transferType"
            export CLASSPATH=.
            for jar in `ls $PRG_HOME/lib/*.jar`
            do
                    CLASSPATH=$CLASSPATH:$jar
            done
           # nohup "$JAVA_HOME"/bin/java -Djobname="$PRG_KEYWORD"  -cp "$CLASSPATH" $jvmOpt $LOGCFG $FILE_ENCODING $MAIN_CLASS add "$transferType" >/dev/null 2>&1&
            "$JAVA_HOME"/bin/java -Djobname="$PRG_KEYWORD"  -cp "$CLASSPATH" $jvmOpt $LOGCFG $FILE_ENCODING $MAIN_CLASS  add "$transferType"
            for(( i=1;i<=10;i++));do
                    if [ -e $pidFile ]; then
                            echo "$PRG_KEYWORD is started,pid=`cat $pidFile`"
                            break
                    fi
                    sleep 2
            done
    }
    function delete(){
            
            echo "will start $PRG_KEYWORD"
            export CLASSPATH=.
            for jar in `ls $PRG_HOME/lib/*.jar`
            do
                    CLASSPATH=$CLASSPATH:$jar
            done
           # nohup "$JAVA_HOME"/bin/java -Djobname="$PRG_KEYWORD"    -cp "$CLASSPATH" $jvmOpt $LOGCFG $FILE_ENCODING $MAIN_CLASS delete "$transferType">/dev/null 2>&1&
            "$JAVA_HOME"/bin/java -Djobname="$PRG_KEYWORD" -cp "$CLASSPATH" $jvmOpt $LOGCFG $FILE_ENCODING $MAIN_CLASS  delete "$transferType"
            for(( i=1;i<=10;i++));do
                    if [ -e $pidFile ]; then
                            echo "$PRG_KEYWORD is started,pid=`cat $pidFile`"
                            break
                    fi
                    sleep 2
            done
    }
    psid=0
    checkpid() {
       javaps=`$JAVA_HOME/bin/jps -l | grep $PRG_KEYWORD`
     
       if [ -n "$javaps" ]; then
          psid=`echo $javaps | awk '{print $1}'`
       else
          psid=0
       fi
    }
    
        stop() {  
           checkpid  
          
           if [ $psid -ne 0 ]; then  
              echo -n "Stopping $PRG_KEYWORD ...(pid=$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 "================================"  
           fi  
        }  
    case "$1" in
    start)
            if [ -e $pidFile ]; then
                    pid=`cat $pidFile`
                    tpid=`ps -ef | grep java | grep -v grep | grep jobname=$PRG_KEYWORD | grep -c "$PRG_RUN_USER "`
                    if [ $tpid -lt 1 ]; then
                            start
                    else
                            echo "$PRG_KEYWORD already started!! pid="$pid
                    fi
            else
                    tpid=`ps -ef | grep java | grep -v grep | grep jobname=$PRG_KEYWORD | grep -c "$PRG_RUN_USER "`
                    pid=`ps -ef | grep java | grep -v grep | grep jobname=$PRG_KEYWORD | grep "$PRG_RUN_USER " | awk '{print $2}'`
                    if [ $tpid -lt 1 ]; then
                            start
                    else
                            echo "$PRG_KEYWORD already started!! pid="$pid
                            echo "$pid">server.pid
                    fi
            fi
    ;;
    
    del)
            if [ -e $pidFile ]; then
                    pid=`cat $pidFile`
                    tpid=`ps -ef | grep java | grep -v grep | grep jobname=$PRG_KEYWORD | grep -c "$PRG_RUN_USER "`
                    if [ $tpid -lt 1 ]; then
                            delete
                    else
                            echo "$PRG_KEYWORD already started!! pid="$pid
                    fi
            else
                    tpid=`ps -ef | grep java | grep -v grep | grep jobname=$PRG_KEYWORD | grep -c "$PRG_RUN_USER "`
                    pid=`ps -ef | grep java | grep -v grep | grep jobname=$PRG_KEYWORD | grep "$PRG_RUN_USER " | awk '{print $2}'`
                    if [ $tpid -lt 1 ]; then
                            delete
                    else
                            echo "$PRG_KEYWORD already started!! pid="$pid
                            echo "$pid">server.pid
                    fi
            fi
    ;;
    stop)
    stop;;
    *)
            echo "Usage: server.sh (start|del|stop 工单类型英文关键字)"
    esac
  • 相关阅读:
    vue table 中 列 加上 下划线和click 方法
    vue 比较好的学习文章
    Hive 以及mysql 中如何做except 数据操作
    oracle 日期维表 原始版本 带注解
    RMI 实现的rpc 远程过程调用 Java
    剑指offer20:定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。
    剑指offer19:按照从外向里以顺时针的顺序依次打印出每一个数字,4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.
    模拟通讯录
    剑指offer17:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
    剑指offer16:输入两个单调递增的链表,合成后的链表满足单调不减规则。
  • 原文地址:https://www.cnblogs.com/xiaoyu1994/p/9240253.html
Copyright © 2011-2022 走看看