`
c704058712
  • 浏览: 1787 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

Linux部署Java应用程序启动脚本

    博客分类:
  • Java
阅读更多
#!/bin/sh
# $PATH

#-------------------------------------------------------------------
# 定义变量
#-------------------------------------------------------------------
APP_NAME=messageAcd
GREP_KEY="Diname="${APP_NAME}

# -Xms512m 设置JVM堆的初始内存
# -Xmx1024m 设置JVM堆的最大内存
APP_OPTS="-Xrs -Xms512m -Xmx1024m"

# 程序主类
APP_CLASS="com.acd.sync.MainThread"

# 日志文件
#APP_LOG="log/log.log"
APP_LOG="log/log.log"

# 模块运行需要的lib
#APP_LIBS=./:`ls ../lib/*.jar | paste -s -d":" -`
APP_LIBS=./:`ls ../lib/*.jar | paste -s -d":" -`

# 当前的类路径=当前模块的类路径+JDK的类路径
APP_CLASSPATH=${APP_LIBS}:.:${CLASSPATH}

# 检查HelloWorld进程是否已经在运行,如果在运行则返回1,否则返回0
is_exist(){
# ps -ef : 查询所有进程
# grep -w "${GREP_KEY}" : 从所有进程中查出名称为HelloWorld的进程,-w为精确查找
# grep -v "grep" : 排除名称为grep的进程
# awk '{print $2}' : 输出第二个参数,也就是进程号
pid=`ps -ef | grep -w "${GREP_KEY}" | grep -v "grep" | awk '{print $2}'`

# 判断进程号是否为空
if [ -z "${pid}" ]
  then return 1
else
  return 0
fi
}

# 打印HelloWorld进程的状态信息
status(){
is_exist
if [ $? -eq "0" ]
  then echo "${APP_NAME} is running. pid=${pid} ."
else
  echo "${APP_NAME} is not running"
fi
}

# 启动HelloWorld进程
start(){
is_exist
if [ $? -eq "0" ]
  then echo "${APP_NAME} is already running. pid=${pid} ."
  return 0
else
  echo "try to start ${APP_NAME} ... "

  # 调用nohup命令启动HelloWorld
  # 1>&- : 表示关闭标准输出日志到nohup.out 
  # 2>${APP_LOG} : 表示输出日志到..//log/log.log
  # 最后的& : 表示退出帐户/关闭终端时程序不退出
                nohup $JAVA_HOME/bin/java -${GREP_KEY} ${APP_OPTS} -classpath ${APP_CLASSPATH} ${APP_CLASS} 1>&- 2>${APP_LOG} &

  # 程序的启动需要一定的时间,这里设置暂停时间(3秒),单位是秒
                sleep 3

                is_exist
                if [ $? -eq "0" ]
                then
                        echo "${APP_NAME} is running now. pid=${pid}."
                        return 0
                else
                        echo "failed to start ${APP_NAME}! see ${APP_LOG} for more details."
                        return 1
                fi
fi
}

# 停止HelloWorld进程
stop()
{
is_exist

if [ $? -eq 0 ]
  then  echo "try to stop ${APP_NAME} ..."

   # 调用kill命令杀掉进程
   #/usr/bin/kill -9  ${pid}
kill -9  ${pid}

   if [ $? -ne 0 ]
    then echo "failed to stop ${APP_NAME}!"
    return 1
   else
    echo "${APP_NAME} stopped."
    return 0
   fi
else
  echo "${APP_NAME} is not running!"
  return 1
fi
}

# 重启HelloWorld进程
restart(){
stop
start
}

# 显示帮助信息
help()
{
echo "status                    show the status of ${APP_NAME} server."
echo "start                    start the ${APP_NAME} server."
echo "stop                      stop the ${APP_NAME} server."
echo "restart                  restart the ${APP_NAME} server."
}

# 主函数
main()
{
case "$1" in
status)  status;;
start)    start;;
stop)    stop;;
restart)  restart;;
help)  help;;
*)        echo "command param error ! see follow help "; help;;
esac
}
# 执行主函数 $1表示选择第一个字符串为参数,比如终端命令是:./run.sh start status,则选择start为输入参数
main $1
0
0
分享到:
评论

相关推荐

    Linux部署java程序步骤

    ### Linux部署Java程序步骤详解 在现代软件开发中,Java作为一种广泛应用的编程语言,其程序部署至Linux系统是一项常见的需求。对于初次接触这一过程的开发者来说,了解如何正确且高效地进行部署至关重要。本文将...

    linux的shell脚本快速部署java环境jdk+tomcat+mysql

    在部署Java应用时,往往需要一个数据库来存储数据。`mysql.sh`脚本会负责安装MySQL服务器,创建用户,设置权限,以及可能的初始化数据库工作。 在实际操作中,使用这三份脚本可以大大简化部署过程,避免手动执行一...

    在linux上面快速部署项目所需要的脚本文件

    这个场景中,我们关注的焦点是一个用于部署Java应用程序的脚本文件,它被设计来简化这一过程。"启动jar"这样的文件名暗示这是一个与Java相关的启动脚本,可能用于运行包含业务逻辑的JAR(Java Archive)文件。 Java...

    linux 通过脚本执行java程序

    在Linux环境中,通过脚本执行Java程序是一种常见的实践,尤其对于服务器端应用或者自动化任务来说。这使得我们能够更方便地管理和...了解并掌握这些知识点,将有助于你在Linux系统中更高效地管理和部署Java应用程序。

    java程序产品包模板-内置linux和Windows通用shell启动停止脚本(无需系统安装Java运行环境).zip

    该压缩包文件“java程序产品包模板-内置linux和Windows通用shell启动停止脚本(无需系统安装Java运行环境).zip”提供了一套适用于Java程序的通用打包方案,特别强调了其能够在Linux和Windows操作系统上无缝运行,且不...

    java启动脚本生成工具.rar

    这款工具的核心功能在于自动化处理Java应用程序的启动配置,使得部署和运行Java应用变得更加便捷。 在Java开发中,启动脚本通常是bash shell脚本(对于Linux)或批处理文件(对于Windows),它们包含了启动Java...

    linux下部署java环境

    ### Linux下部署Java环境 #### 一、安装Java运行环境(JDK) 在Linux系统中部署Java环境主要包括安装Java Development Kit (JDK) 和配置环境变量等步骤。 ##### 1. 下载JDK 首先需要从Oracle官网下载适用于Linux...

    Shell脚本通过Java class文件启停Java程序源码(脚本及源码)

    在开发过程中经常会员到在Linux环境中使用Shell脚本启动和停止java程序的情况,常用的java -jar命令只能运行jar文件,有很多不方便的地方,一旦代码修改就需要重新编辑打包,其实还有很多其他的方式,这个资源中包含...

    Linux部署springboot(springcloud)启动多个jar

    SpringBoot和SpringCloud是Java开发微服务架构的两大神器,它们极大地简化了应用程序的构建和部署过程。本篇文章将深入讲解如何在Linux环境下部署SpringBoot(SpringCloud)项目,并启动多个jar文件,以及如何通过...

    利用脚本启动java程序

    标题 "利用脚本启动Java程序" 涉及到的是如何通过编写脚本来自动化执行Java应用程序,这在日常开发和运维工作中非常常见。脚本语言如bash、Windows批处理等可以方便地帮助我们管理和控制Java程序的启动、停止以及...

    JAVA 部署LINUX

    标题“JAVA 部署LINUX”涉及到的是在Linux操作系统中部署Java应用程序的相关技术。Linux以其开源、稳定和高效的特点,常被用作服务器平台,而Java作为一种跨平台的编程语言,非常适合在Linux上运行。以下是一些关于...

    Linux 启动停止SpringBoot jar 程序部署Shell 脚本的方法

    在Linux环境中,管理和部署Java应用程序,特别是Spring Boot应用,通常会使用Shell脚本来自动化启动、停止等操作。本文将详细讲解如何编写一个用于启动和停止Spring Boot jar程序的Shell脚本,以及脚本中涉及的关键...

    linux下执行java程序的sh脚本下载

    在Linux环境中运行Java应用程序时,经常需要通过shell脚本来启动Java程序。这种方式不仅便于自动化部署和管理,还可以根据需求灵活调整运行参数。本文将详细介绍如何在Linux环境下编写并运行用于执行Java程序的shell...

    shell脚本启动Java程序测试工程

    总的来说,shell脚本启动Java程序提供了极大的灵活性和可扩展性,允许我们轻松地集成其他功能,如自动部署、监控、性能调整等。这使得shell脚本成为自动化Java应用运维的重要工具。通过熟练掌握这些技能,开发者可以...

    linux上通过sh方式启动java jar程序并做为守护进程

    为了使其成为守护进程,通常会将此脚本添加到系统的启动脚本或服务管理系统(如Systemd或init.d)中,这样每次系统启动时都会自动启动Java应用。 在Systemd环境下,你可以创建一个名为`application.service`的服务...

    Linux 启动停止SpringBoot jar 程序部署Shell 脚本的方法.zip

    SpringBoot是基于Spring框架的微服务开发工具,它简化了创建独立、生产级别的Java应用程序的过程。SpringBoot应用通常被打包为可执行的jar文件,可以直接运行,无需额外的服务器环境。 接下来,让我们关注Linux ...

    tomcat 部署java项目 jar

    标题中的“tomcat部署java项目jar”指的是在Apache Tomcat服务器上部署Java Web应用程序,通常以JAR(Java Archive)格式打包。Tomcat是一个开源的轻量级应用服务器,主要用于运行Servlet和JSP(JavaServer Pages)...

    启动停止java服务的shell脚本

    本文将详细介绍如何使用Shell脚本来启动和停止Java服务,适用于包括SpringBoot在内的各种Java应用程序。 首先,让我们理解什么是Shell脚本。Shell脚本是Linux或Unix操作系统中的批处理程序,由一系列命令组成,可以...

    linux环境 java 1.8安装包

    此外,如果服务器需要在启动时自动运行Java应用,可以通过编写Systemd服务单元文件或使用其他启动脚本来实现。 六、JDK与JRE 有时,你可能只需要运行Java应用程序,而不进行开发工作。这时,可以考虑仅安装JRE,它...

    重启java程序shell脚本

    linux中java项目需要重启一般使用先找到进程杀掉进程,然后找到项目启动,整个过程不算复杂,但是每次都操作一遍太麻烦,我这里把这个过程整理成shell脚本,大家可以修改里面项目名称,每次直接执行这个命令重启项目...

Global site tag (gtag.js) - Google Analytics