`
墙头上一根草
  • 浏览: 155223 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

linux 启动java进程 sh文件

阅读更多
#!/bin/bash
#初始化服务器的进程PId变量
user_pid=0;
robot_pid=0;
loadlort_pid=0;
gateway_pid=0;

#########
#检查相关服务器是否启动成功
#说明:
#使用JDK自带的JPS命令及grep命令组合,准确查找pid
#jps 加 l 参数,表示显示java的完整包路径
#使用awk,分割出pid ($1部分),及Java程序名称($2部分)
############
check_is_start(){
  for((i=1;i<10;i++));do
     temp_javaps=`$JAVA_HOME/bin/jps -l | grep $1`;

     if [ -n "$temp_javaps" ]; then
        temp_pid=`echo $temp_javaps | awk '{print $1}'`;

	if [ "$temp_pid" -eq 0 ];then
	   echo "$2 service start failure";
	   exit 0;
	else
          echo "$2 service is starting......";
        fi
     else
       echo "$2 service start failure";
       exit 0;
     fi
     sleep 3;
  done
  temp_javaps=`$JAVA_HOME/bin/jps -l | grep $1`;

  if [ -z "$temp_javaps" ];then
    echo "$2 service start failure";
    exit 0;
  fi
  temp_pid=`echo $temp_javaps | awk '{print $1}'`;

  if [ "$temp_pid" -eq 0 ] ; then
    echo "$2 service start failuret";
    [[ -z $(lsof -i:$3) ]]&&echo "port is not linster"||echo "port is linster"
    exit 0;
  else
    echo "$2 service start succeed";
  fi
}
#########
#停止服务器
#########
stop_service(){
    temp_javaps=`$JAVA_HOME/bin/jps -l | grep $1`;

    if [ -n "$temp_javaps" ]; then
      temp_pid=`echo $temp_javaps | awk '{print $1}'`;

      if [ "$temp_pid" -eq 0 ];then
	 echo "$1 service is not starting......";
      else
	 su - root -c "kill -15 $temp_pid"
	 echo "$1 stop already"
      fi
    fi
}

###################################
#启动服务器
###################################
start(){
    ###################################
    #启动用户服务器
    #
    #检查用户服务器是否启动成功
    #监听端口6664
    ###################################
    cd user;
    ./start.sh;
    check_is_start server-user-0.0.1-SNAPSHOT.jar user 6664;

    ###################################
    #启动机器人服务器
    #
    #启动之后调用check_is_start 检查是否启动成功
    #监听端口6664
    ###################################
    cd ../robot;
    ./start.sh;
    check_is_start server-robot-0.0.1-SNAPSHOT.jar robot 6656;

    ###################################
    #启动斗地主服务器
    #
    #启动之后调用check_is_start 检查是否启动成功
    #监听端口6664
    ###################################
    cd ../loadlort;
    ./start.sh;
    check_is_start server-game-0.0.1-SNAPSHOT.jar game 6668;

    ###################################
    #启动网管服务器
    #
    #启动之后调用check_is_start 检查是否启动成功
    #监听端口6664
    ###################################
    cd ../gateway;
    ./start.sh;
    check_is_start server-gateway-0.0.1-SNAPSHOT.jar gateway 9092;
}

###################################
#停止服务器
###################################
stop(){
    stop_service server-gateway-0.0.1-SNAPSHOT.jar;
    stop_service server-robot-0.0.1-SNAPSHOT.jar;
    stop_service server-user-0.0.1-SNAPSHOT.jar;
    stop_service server-game-0.0.1-SNAPSHOT.jar;
}

###################################
#读取脚本的第一个参数($1),进行判断
#参数取值范围:{start|stop|restart|status|info}
#如参数不在指定范围之内,则打印帮助信息
###################################
case "$1" in
   'start')
      start
      ;;
   'stop')
     stop
     ;;
  *)
echo "Usage: $0 {start|stop}"
exit 1
esac 
exit 0

 

分享到:
评论

相关推荐

    sh脚本启动java -jar

    在Linux环境中,`sh`脚本是常用的自动化工具,用于执行一系列命令,特别是在启动Java应用程序时,如`java -jar`。这个标题和描述表明我们要讨论的是如何通过编写一个简单的Shell脚本来启动Java的JAR文件。这通常适用...

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

    3. `MAIN_CLASS`变量定义了Java程序的主要类名,这是JAR文件的入口点。 4. 使用`nohup`命令启动Java应用,它可以防止进程在接收到HUP(挂断)信号时被终止,这通常发生在用户注销或终端关闭时。 5. `&`符号使得Java...

    java执行linux的SH文件

    标题中的“java执行linux的SH文件”指的是在Java程序中调用Linux系统中的Shell脚本进行执行。这通常涉及到Java的Runtime类或者ProcessBuilder类,它们可以用来与操作系统进行交互,执行外部命令。 1. **Java运行...

    linux执行jar文件脚本.sh

    在linux系统中执行jar包,我们需要先杀掉对应端口的进程,然后执行java -jar命令,启动服务

    centos上通过sh文件启动jar等程序与命令详解.zip

    1. **启动Java应用**:在`run.sh`中,使用`java -jar`命令来启动jar程序。例如: ```bash java -jar your-jar-file.jar ``` 其中`your-jar-file.jar`是你要运行的jar文件的名称。 2. **环境变量设置**:在运行...

    Linux jar包启动脚本start.sh

    `start.sh`是一个常用的Linux脚本,用于自动化启动Java应用程序,特别是那些以jar包形式存在的服务。本文将深入探讨如何创建和理解`start.sh`启动脚本,以及与其相关的`log.sh`日志管理脚本。 **一、start.sh脚本**...

    Linux一键启动多个jar

    在Linux环境中,管理和操作多个Java应用程序(通常以.jar文件的形式存在)是一项常见的任务。本文将详细探讨如何通过编写脚本实现一键启动、停止和重启这些.jar文件,以提高工作效率。 首先,我们需要理解“Linux...

    java项目linux下启动方式

    创建一个名为`start.sh`的Shell脚本,用于启动Java应用。脚本可能如下所示: ```bash #!/bin/bash # 设置JAR文件路径 JAR_FILE=path/to/your/app.jar # 设置Java运行参数 JAVA_OPTS="-Xms256m -Xmx1024m" #...

    linux启动jboss.doc

    此命令会为当前目录下的所有`.sh`文件添加执行权限,确保用户可以直接运行这些脚本。 ### 总结 在Linux环境中管理JBOSS应用服务器,不仅涉及启动和停止服务,还需要熟练掌握进程监控和管理技巧。通过上述步骤,你...

    linux 一键启动 jar包 批处理脚本

    在Linux系统中,Java开发者经常需要管理Spring Boot应用程序,包括启动、停止和重启等操作。为了简化这个过程,我们可以创建一个批处理脚本,通常是一个`.sh`文件,来实现一键执行这些任务。本文将详细讲解如何编写...

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

    然后,你可以通过`./start.sh`和`./stop.sh`命令启动和停止你的SpringBoot应用。 总结来说,利用Linux Shell脚本管理SpringBoot应用提供了灵活性和便利性,使得部署和运维变得更加高效。了解这些基本技巧将帮助你在...

    java在win下启动bat和在linux下启动shell脚本

    在Windows中,批处理文件通常以`.bat`或`.cmd`为扩展名,而Linux和Unix系统中,shell脚本通常以`.sh`结尾。这个工具类可能使用了Java的`Runtime`或者`ProcessBuilder`类来执行外部命令。 `Runtime.getRuntime()....

    linux下执行java程序的sh脚本分享

    以下是一个关于如何编写和使用Linux下的.sh脚本来执行Java程序的详细说明: 首先,我们需要创建一个.sh文件,这是Linux下的shell脚本文件。在文本编辑器中创建一个新的文件,例如命名为`run_java.sh`,然后添加以下...

    Linux下独立执行Java程序.docx

    在Linux环境中独立执行Java程序,通常是因为需要在非容器环境下运行,这可能涉及到对系统资源的直接访问,例如配置数据库连接、管理日志文件或加载第三方库。在没有Web容器支持的情况下,我们需要手动配置和管理这些...

    Linux通用java程序启动脚本代码实例

    【Linux通用Java程序启动脚本】是用于在Linux操作系统中便捷地启动、停止、重启以及检查Java应用程序状态的脚本。这种脚本通常采用bash语言编写,能够灵活适应不同的Java项目,只需调整其中的配置变量即可。以下是...

    Java启动关闭脚本.zip

    这个"Java启动关闭脚本.zip"文件包含的就是这样的脚本,用于自动化Java程序的启停操作。其中的"start.sh"和"stop.sh"是两个关键的Shell脚本,它们在Unix/Linux系统中被广泛使用。 首先,我们来详细了解一下`start....

    Linux下Tomcat的启动、关闭、杀死进程

    在Linux环境下部署和管理Java Web应用程序时,Apache Tomcat作为一款广泛使用的应用服务器,其操作过程对于系统管理员和开发人员来说至关重要。本文将详细介绍如何在Linux环境下启动、关闭以及强制终止Tomcat服务。 ...

    linux下启动停止WebSphere.docx

    在Linux环境下管理和操作WebSphere Application Server是一项常见的IT任务,特别是对于那些负责企业级Java应用程序部署的IT专业人员。WebSphere是IBM提供的一个强大的应用服务器,它提供了多种功能,包括应用程序...

    Linux中将Tomcat添加到守护进程

    在Linux环境中,为了确保应用程序如Tomcat能够随系统自动启动并作为守护进程运行,需要进行一系列的配置步骤。本文将详细介绍如何将Tomcat添加到Linux的守护进程,并处理"Invalid user name 'tomcat' specified"的...

    linux 启动 Tomcat 命令

    - 修改或创建`/etc/profile.d/tomcat.sh`文件,加入以下内容: ```bash export CATALINA_HOME=/usr/local/tomcat export PATH=$PATH:$CATALINA_HOME/bin ``` 3. **设置Java环境**: - 确保系统已安装JDK,并...

Global site tag (gtag.js) - Google Analytics