• Linux自定义java程序运行脚本的命令


    以下脚本将启动mes-lastest.jar,并且:

    1、开启远程调试支持,端口8899,

    2、开启GC日志记录功能

    3、程序发送OOM是Dump内存

    用法如下:

    Usage: ./run.sh {start|stop|restart|status|stop -f}
    Example: ./run.sh start

    示例:

    ubuntu@ubuntu:~$ ^C
    ubuntu@ubuntu:~$ vim run.sh
    ubuntu@ubuntu:~$ ./run.sh start
    Maybe mes-lastest.jar is running, please check it...
    ubuntu@ubuntu:~$ ./run.sh stop
    The mes-lastest.jar is stopping...
    ubuntu@ubuntu:~$ ./run.sh start
    The mes-lastest.jar is starting...
    ubuntu@ubuntu:~$
    #!/bin/bash
    
    appName=`ls|grep mes-lastest.jar$`
    if [ -z $appName ]
    then
        echo "Please check that this script and your jar-package is in the same directory!"
        exit 1
    fi
    
    killForceFlag=$2
    
    function start()
    {
        count=`ps -ef |grep java|grep $appName|wc -l`
        if [ $count != 0 ];then
            echo "Maybe $appName is running, please check it..."
        else
            echo "The $appName is starting..."
            nohup java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8899 -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/ubuntu -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Xloggc:/home/ubuntu/gc.log -Xms512M -Xmx1024G -Dserver.port=8080 -jar $appName > /dev/null 2>&1 &
        fi
    }
    
    function stop()
    {
        appId=`ps -ef |grep java|grep $appName|awk '{print $2}'`
        if [ -z $appId ]
        then
            echo "Maybe $appName not running, please check it..."
        else
            echo -n "The $appName is stopping..."
            if [ "$killForceFlag" == "-f" ]
            then 
                echo "by force"
                kill -9 $appId
            else
                echo
                kill $appId
            fi
        fi
    }
    
    function status()
    {
        appId=`ps -ef |grep java|grep $appName|awk '{print $2}'`
        if [ -z $appId ] 
        then
            echo -e "33[31m Not running 33[0m" 
        else
            echo -e "33[32m Running [$appId] 33[0m" 
        fi
    }
    
    function restart()
    {
        stop
        for i in {3..1}
        do
            echo -n "$i "
            sleep 1
        done
        echo 0
        start
    }
    
    function usage()
    {
        echo "Usage: $0 {start|stop|restart|status|stop -f}"
        echo "Example: $0 start"
        exit 1
    }
    
    case $1 in
        start)
        start;;
    
        stop)
        stop;;
        
        restart)
        restart;;
        
        status)
        status;;
        
        *)
        usage;;
    esac
  • 相关阅读:
    python is == 区别
    python 元类 type metaclass
    树莓派 zero w 一根线使用
    python 类装饰器
    Oracle创建用户
    hibernate使用原生SQL查询
    工作流 jBMP4.4表结构
    (Mark)Myeclipse10.6 下怎么安装Jad插件
    (Mark=转)ehcache memcache redis
    Oracle 常用命令
  • 原文地址:https://www.cnblogs.com/passedbylove/p/12939424.html
Copyright © 2020-2023  润新知