zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    简单图片预加载
    前端进行图片压缩
    原生js实现拖动滑块验证
    chrome和IE下的滚动条样式修改
    简单canvas刮刮乐
    时间轴
    简单边框动画
    滚动指示器
    美化checkbox多选框
    将过长的文字改用省略号显示
  • 原文地址:https://www.cnblogs.com/passedbylove/p/12939424.html
Copyright © 2011-2022 走看看