通用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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 2023考研高数接力题典1800习题讲解

    2023考研高数接力题典1800习题讲解第一部分(函数、极限、连续)极限求法:①直接代入数值②约去不能代入的零因子③分子分母同除最高次幂④分子分母有理化⑤公式法⑥等价无穷小量的代换⑦洛必达法则⑧换底公式(对数)入门练习填空题讲解(1~4):第一题:我们通过观察,发现是0/0型的,自然想到了洛必达法则。百度百科:洛必达法则是在一定条件下通过分子分母分别求导再求极限来确定未定式值的方法。众所周知,两个无穷小之比或两个无穷大之比的极限可能存在,也可能不存在。因此,求这类极限时往往需要适当的变形,转化成可利用极限运算法则或重要

    2022年8月11日
    7
  • 转:JRTPLIB

    JRTPLIB AuthorJoriLiesenborgsDevelopedatthethe ExpertiseCentreforDigitalMedia(EDM),aresearchinstituteofthe HasseltUniversityIntroductionThisdocumentdescribesJRTPLIB,ano…

    2022年4月7日
    57
  • Matlab axis用法「建议收藏」

    Matlab axis用法「建议收藏」转载地址:http://blog.sina.com.cn/s/blog_b26a90750101kxdx.htmlaxisoff;%去掉坐标轴axistight;%紧坐标轴axisequal;%等比坐标轴axis([-0.1,8.1,-1.1,1.1]);%坐标轴的显示范围%gca:gca,h=figure(…);set(gca,’XLim’…

    2022年6月11日
    51
  • WAR包补丁工具_修改war包配置文件

    WAR包补丁工具_修改war包配置文件简要:因目前处于运维历史悠久的WEB项目中,每次需求开发完成需要更打补丁文件,因此编写打补丁工具,以解决手动查找补丁文件的繁琐且重复操作。纯Java代码编写,使用Swing作为界面UI,原有代码只针对特殊使用场景,可以适当加以修改。适用:编译工具:EclipseLunaRelease(4.4.0)运行环境:JDK1.7代码:界面GUI部分:使用JSplitPane…

    2022年10月5日
    1
  • stm32中的u8定义在哪里_c语言中u8和u16是啥

    stm32中的u8定义在哪里_c语言中u8和u16是啥初学STM32编程时,经常见到数据类型定义的符号:u8、u16等,51都是自己定义数据类型的简写符号,STM32是哪里定义的呢?今天没事就看了看系统头文件,数据类型的定义在其中的3个头文件里:(1)stdint.h(摘取定义部分)/* *’signed’isredundantbelow,exceptfor’signedchar’andif *thetypedefis…

    2022年10月7日
    3
  • springboot的介绍_springboot web

    springboot的介绍_springboot webSpringboot入门介绍一、Spring框架概述1.1什么是SpringSpring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由RodJohnson在其著作《ExpertOne-On-OneJ2EEDevelopmentandDesign》。Spring是为了解决企业级应用开发的复杂性而创建的,使用Spring可以让简单的Ja…

    2022年8月20日
    6

发表回复

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

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