通用jar包启动脚本

通用jar包启动脚本

通用jar包启动脚本

  1. 使用方法:

把本脚本和jar包放置在同一目录,并保证该目录下只有一个jar包。
jar包的输出文件名为“nohup.当前目录名”

  1. 运行jar包:

脚本名后跟start|stop|restart|status即可

  1. 脚本内容:
#!/bin/bash
#######################
#脚本使用方法:
#本脚本和jar包在同一目录下,保证当前目录有且只有一个jar包即可。无需修改任何东西。
# Usage: $0 {start|stop|status|restart}
#######################
#可在此处添加需要加载的环境变量
#######################

CurrentPath=`pwd`
CurrentDirName=`basename $(pwd)`
if ls *.jar &> /dev/null ;then
        if [ `ls *.jar | wc -l` -eq 1 ];then
                APP_NAME=`find $CurrentPath -maxdepth 1 -name "*.jar"`
        else
                echo -e "\033[31m------   Error! Too Much JAR Packages In This Directory !\033[0"
                exit 2
        fi
else
        echo -e "\033[31m------   Error! No JAR Package In Current File !\033[0"
        exit 1
fi

is_exist () {
    pid=`ps aux | grep $APP_NAME | grep -v grep | grep "jar$"| awk '{print $2}'`
    if [ -z "$pid" ];then
        return 1
    else
        return 0
    fi
}
start () {
    is_exist
    if [ $? -eq 0 ];then
        echo "${APP_NAME} is already running. pid=${pid} ."
    else
        nohup java -jar $APP_NAME &> nohup.$CurrentDirName &
    fi
}
stop () {
    is_exist
    if [ $? -eq 0 ];then
        kill  $pid
    else
        echo "${APP_NAME} is not running"
    fi
}
status () {
    is_exist
    if [ $? -eq 0 ];then
        echo "${APP_NAME} is running. Pid is ${pid}"
    else
        echo "${APP_NAME} is not running"
    fi
}
case $1 in
    start)
        start;;
    stop)
        stop;;

    restart)
        stop
        start;;
    status)
        status;;
    *)
        echo "Usage: $0 {start|stop|status|restart} "
esac

转载于:https://blog.51cto.com/11975865/2383075

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100964.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 如何创建conda环境_conda安装Python包

    如何创建conda环境_conda安装Python包Pycharm中如何使用新建的conda环境?

    2022年8月27日
    4
  • Flash与页面交互的钥匙之 AllowScriptAccess

    Flash与页面交互的钥匙之 AllowScriptAccess原文:http://cloud21.iteye.com/blog/729676今天为一个flash的问题搞了半天,flash在页面中点不开js的提示框,如果单是这一个问题,那我立刻就能确定问题所在,一

    2022年7月2日
    25
  • 神经网络知识点总结_经典神经网络

    神经网络知识点总结_经典神经网络本文基于文章,对神经网络的知识点做一个总结,可能不会对某些概念性的东西做详细介绍,因此需要对神经网络有基本的了解。FNN:前馈神经网络  神经网络的最基本也是最经典的形式,结果包括输入层,隐藏层和输出层,根据隐藏层的多少,分为shallownetwork和deepnetwork(deeplearning由此而来)Activationfunction  在神经网络的每

    2025年6月12日
    8
  • 一起学JAVA 反射学习(超详细)

    一起学JAVA 反射学习(超详细)1什么是反射?Reflection(反射)是Java程序开发语言的特征之一,它允许运行中的Java程序对自身进行检查,或者说“自审”,也有称作“自省”。反射非常强大,它甚至能直接操作程序的私有属性。我们前面学习都有一个概念,被private封装的资源只能类内部访问,外部是不行的,但这个规定被反射赤裸裸的打破了。反射就像一面镜子,它可以在运行时获取一个类的所有信息,可以获取到任何定义的信息(包括成员变量,成员方法,构造器等),并且可以操纵类的字段、方法、构造器等部分。2为什么需要反射?

    2022年6月11日
    35
  • PHPStorm使用技巧及快捷键

    PHPStorm使用技巧及快捷键

    2021年10月23日
    112
  • python编写淘宝秒杀脚本

    python编写淘宝秒杀脚本最近想抢冰墩墩的手办和钥匙圈,但是同志们抢的速度太快了,无奈,还是自己写脚本吧。添加火狐浏览器插件Omnibug是一个插件,可以简化web度量实现的开发。检查每个传出请求(由浏览器发送)的模式;如果出现匹配,URL将显示在开发人员工具面板中,并进行解码以显示请求的详细信息。在火狐浏览器的插件中直接搜索、下载即可安装geckodriver在python中使用selenium爬取动态渲染网页,这个过程之中需要安装浏览器驱动geckodrivergeckodrivergithub链接将下载后到

    2022年6月9日
    30

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号