#!/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
相关推荐
在Linux环境中,`sh`脚本是常用的自动化工具,用于执行一系列命令,特别是在启动Java应用程序时,如`java -jar`。这个标题和描述表明我们要讨论的是如何通过编写一个简单的Shell脚本来启动Java的JAR文件。这通常适用...
3. `MAIN_CLASS`变量定义了Java程序的主要类名,这是JAR文件的入口点。 4. 使用`nohup`命令启动Java应用,它可以防止进程在接收到HUP(挂断)信号时被终止,这通常发生在用户注销或终端关闭时。 5. `&`符号使得Java...
标题中的“java执行linux的SH文件”指的是在Java程序中调用Linux系统中的Shell脚本进行执行。这通常涉及到Java的Runtime类或者ProcessBuilder类,它们可以用来与操作系统进行交互,执行外部命令。 1. **Java运行...
在linux系统中执行jar包,我们需要先杀掉对应端口的进程,然后执行java -jar命令,启动服务
1. **启动Java应用**:在`run.sh`中,使用`java -jar`命令来启动jar程序。例如: ```bash java -jar your-jar-file.jar ``` 其中`your-jar-file.jar`是你要运行的jar文件的名称。 2. **环境变量设置**:在运行...
`start.sh`是一个常用的Linux脚本,用于自动化启动Java应用程序,特别是那些以jar包形式存在的服务。本文将深入探讨如何创建和理解`start.sh`启动脚本,以及与其相关的`log.sh`日志管理脚本。 **一、start.sh脚本**...
在Linux环境中,管理和操作多个Java应用程序(通常以.jar文件的形式存在)是一项常见的任务。本文将详细探讨如何通过编写脚本实现一键启动、停止和重启这些.jar文件,以提高工作效率。 首先,我们需要理解“Linux...
创建一个名为`start.sh`的Shell脚本,用于启动Java应用。脚本可能如下所示: ```bash #!/bin/bash # 设置JAR文件路径 JAR_FILE=path/to/your/app.jar # 设置Java运行参数 JAVA_OPTS="-Xms256m -Xmx1024m" #...
此命令会为当前目录下的所有`.sh`文件添加执行权限,确保用户可以直接运行这些脚本。 ### 总结 在Linux环境中管理JBOSS应用服务器,不仅涉及启动和停止服务,还需要熟练掌握进程监控和管理技巧。通过上述步骤,你...
在Linux系统中,Java开发者经常需要管理Spring Boot应用程序,包括启动、停止和重启等操作。为了简化这个过程,我们可以创建一个批处理脚本,通常是一个`.sh`文件,来实现一键执行这些任务。本文将详细讲解如何编写...
然后,你可以通过`./start.sh`和`./stop.sh`命令启动和停止你的SpringBoot应用。 总结来说,利用Linux Shell脚本管理SpringBoot应用提供了灵活性和便利性,使得部署和运维变得更加高效。了解这些基本技巧将帮助你在...
在Windows中,批处理文件通常以`.bat`或`.cmd`为扩展名,而Linux和Unix系统中,shell脚本通常以`.sh`结尾。这个工具类可能使用了Java的`Runtime`或者`ProcessBuilder`类来执行外部命令。 `Runtime.getRuntime()....
以下是一个关于如何编写和使用Linux下的.sh脚本来执行Java程序的详细说明: 首先,我们需要创建一个.sh文件,这是Linux下的shell脚本文件。在文本编辑器中创建一个新的文件,例如命名为`run_java.sh`,然后添加以下...
在Linux环境中独立执行Java程序,通常是因为需要在非容器环境下运行,这可能涉及到对系统资源的直接访问,例如配置数据库连接、管理日志文件或加载第三方库。在没有Web容器支持的情况下,我们需要手动配置和管理这些...
【Linux通用Java程序启动脚本】是用于在Linux操作系统中便捷地启动、停止、重启以及检查Java应用程序状态的脚本。这种脚本通常采用bash语言编写,能够灵活适应不同的Java项目,只需调整其中的配置变量即可。以下是...
这个"Java启动关闭脚本.zip"文件包含的就是这样的脚本,用于自动化Java程序的启停操作。其中的"start.sh"和"stop.sh"是两个关键的Shell脚本,它们在Unix/Linux系统中被广泛使用。 首先,我们来详细了解一下`start....
在Linux环境下部署和管理Java Web应用程序时,Apache Tomcat作为一款广泛使用的应用服务器,其操作过程对于系统管理员和开发人员来说至关重要。本文将详细介绍如何在Linux环境下启动、关闭以及强制终止Tomcat服务。 ...
在Linux环境下管理和操作WebSphere Application Server是一项常见的IT任务,特别是对于那些负责企业级Java应用程序部署的IT专业人员。WebSphere是IBM提供的一个强大的应用服务器,它提供了多种功能,包括应用程序...
在Linux环境中,为了确保应用程序如Tomcat能够随系统自动启动并作为守护进程运行,需要进行一系列的配置步骤。本文将详细介绍如何将Tomcat添加到Linux的守护进程,并处理"Invalid user name 'tomcat' specified"的...
- 修改或创建`/etc/profile.d/tomcat.sh`文件,加入以下内容: ```bash export CATALINA_HOME=/usr/local/tomcat export PATH=$PATH:$CATALINA_HOME/bin ``` 3. **设置Java环境**: - 确保系统已安装JDK,并...