`
yuxiaoshui
  • 浏览: 28196 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

使用shell 启停java 服务

 
阅读更多

有时候我们需要将java项目打包,运行于linux系统上,也就是桌面运行模式。 这种运行模式需要长期运行,还需要状态监控,不太可能每次运行或者重启是输入一大堆长长的的命令,在Linux/unix下,最理想的就是使用shell脚本了,如下共享一下个人所做的一个服务器的实际部署管理脚本。

 

如下是我 服务器目录下的文件和目录,

-rwxr-xr-x 1 root root   235 06-11 14:15 tools.sh  ---查看服务器是否在运行
-rwxr-xr-x 1 root root   575 06-13 15:08 startup.sh  ---服务启动脚本
-rwxr-xr-x 1 root root   266 06-12 17:25 shutdown.sh  ---服务停止脚本
drwxr-xr-x 2 root root  4096 06-21 09:09 shell             ---其他一些辅助的脚本存放目录
drwxr-xr-x 3 root root  4096 06-20 02:15 mysql           --mysql数据清理、备份目录
drwxr-xr-x 2 root root  4096 06-20 14:54 logs              --服务器运行日志目录
drwxr-xr-x 2 root root  4096 06-08 17:48 lib                 --引用的jar
-rw-r--r-- 1 root root 69944 06-14 15:23 GpsForServer.jar  --服务jar
drwxr-xr-x 2 root root  4096 06-20 17:07 config                 --所有配置文件目录

 

展示上面的目录主要是为了理解脚本内容

startup.sh的内容

#/bin/sh 

home=/root/userfile/gpsserver
classpath=$home/lib/
jarFileName=GpsForServer.jar
JAVA_OPTS="-Xmx1024m -Xms1024m -Xmn768m -Xss128k -XX:+UseParallelGC -XX:ParallelGCThreads=10"
debug=false

cd $home

result=`ps -ef | grep java | grep $jarFileName | grep -v grep| awk '{print 0}'`

if [ "$debug" == "false" ];then

	if [ "X" != "X"$result ]; then
	    echo "ERROR : another instance is running ,exit ......"
	    exit 1
	fi

fi

nohup java $JAVA_OPTS -classpath $classpath  -jar $home/$jarFileName  > $home/logs/nohup.log 2>&1 &

echo "start gpsServer engin ... ..."

 

shutdown.sh内容

#/bin/sh 

jarFileName=GpsForServer.jar

pid=`ps -ef | grep java | grep $jarFileName | grep -v grep| awk '{print $2}'`


if [ "X$pid" != "X" ]; then
    kill -9 $pid
    echo "killed the process ["$pid"] ......"
else
    echo "the service has been stopted"
fi




 

 
如上简单的脚本就可以实现一个服务管理。

 

欢迎拍砖!

分享到:
评论

相关推荐

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

    在开发过程中经常会员到在Linux环境中使用Shell脚本启动和停止java程序的情况,常用的java -jar命令只能运行jar文件...以及程序的启动和停止脚本(非java -jar命令启动,使用shell脚本通过java class文件启停java程序)

    java jar包服务启停,shell脚本范例

    java jar包服务启停,shell脚本范例。 sh demo-web.sh start sh demo-web.sh stop sh demo-web.sh restart

    shell脚本远程启动其他服务器的tomcat传输文件自动登录判断启动停止

    总结来说,这个解决方案通过shell脚本将expect、ssh和scp集成在一起,实现自动化远程服务器登录、文件传输、删除文件以及控制Tomcat服务的启停。这不仅提高了运维效率,减少了人工干预,而且在多服务器环境下提供了...

    tomcat自动启停脚本

    创建和使用Tomcat自动启停脚本是系统管理员和开发者为了提高效率和便捷性的重要手段。下面将详细介绍如何创建和理解这样的脚本,以及它们在实际运维中的作用。 一、Tomcat简介 Tomcat是Apache软件基金会的Jakarta...

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

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

    java 操作脚本启动服务

    在Java开发中,有时我们需要通过脚本来控制服务的启停,特别是在分布式系统或者服务器环境的运维中,这种操作是常见的需求。本主题将详细介绍如何利用Java编写脚本启动和停止服务,以及涉及到的相关技术点。 首先,...

    kafka一键启停脚本

    一键启停脚本的实现原理通常是通过Shell脚本或者其他编程语言(如Python)编写,利用操作系统提供的命令行工具与Kafka服务进行交互。脚本中会包含以下关键步骤: 1. **环境检查**:首先,脚本会检查Kafka的相关依赖...

    jar包自动化启停脚本,支持开机自启

    内容概要:本脚本基于生产大量jar需要启动而编写,提升启动效率。通过参数可以实现目录下所有jar的循环启动...(3)注册成服务之后可以使用service autoStart.sh /home/issue/svr-test来启动svr-test目录下的jar包。

    某银行用了10多年的Java-jar启停脚本(超详细).zip

    某银行用了10多年的Java启动脚本,包括运行状态检查,如果程序正在运行则杀死,杀死期间循环检查,直到杀死或者杀死超时,然后重新启动,如果程序没有运行则直接启动,启动期间每间隔一定时间...每一步都记录了详细启停日志

    shell-master.zip

    通过Shell脚本,可以实现Nginx的安装、配置、更新以及服务的启停,例如设定不同的虚拟主机配置,或者根据需求动态调整服务器负载策略。 在“shell-master”这个压缩包中,很可能包含了一系列针对这些工具的脚本,每...

    Java启动关闭脚本.zip

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

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

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

    MQ常用操作:设置、启停、建立队列、生成.bindings文件

    - 对于AIX平台,可以使用`no -a | grep tcp_keepidle`命令来查询当前的keepalive间隔时间,并通过`/usr/sbin/no -o tcp_keepidle=3600`将其设置为0.5小时。 - HP平台的调整方式与Solaris类似,但具体实现可能有所...

    sh代码-shell脚本方式启动Tomcat服务

    当我们谈论“sh代码 - shell脚本方式启动Tomcat服务”时,这意味着我们要使用一个名为`main.sh`的shell脚本来控制Apache Tomcat服务器的启停。Tomcat是一个广泛使用的开源Java Servlet容器,它允许开发者部署和运行...

    太原理工大学《大数据》课设实验报告

    实验目标是让学生在Windows或Linux环境中访问HDFS集群,掌握集群的启停和基本文件操作命令。实验内容涵盖HDFS的启动停止方法、Shell命令的使用,以及通过JAVA API进行文件操作。实验要求学生熟悉HDFS的常用Shell命令...

    tomcat6启动脚本

    首先,启动脚本是控制Tomcat服务启停的关键。在Tomcat6中,这个脚本通常位于`$CATALINA_HOME/bin`目录下,名为`catalina.sh`。此脚本主要由一系列shell命令组成,用于设置环境变量、调用Java虚拟机(JVM)以及执行...

    《大数据原理与技术》实验报告模板.doc

    1. **HDFS的启停**:实验要求掌握HDFS的启动和停止操作,这是使用HDFS的前提。 2. **HDFS Shell客户端**:通过HDFS的shell命令,如`hdfs dfs -put`,`hdfs dfs -get`,`hdfs dfs -mkdir`等,进行文件上传、下载和...

    tomcat配置环境变量

    通过配置环境变量,你可以确保Tomcat能够正确识别并使用JDK,加载必要的库,并且能够在命令行中方便地控制Tomcat服务的启停。此外,这也是一个学习操作系统和编程环境配置的良好实践,有助于提升问题排查和系统管理...

    was的操作指令.doc

    总的来说,通过`wsadmin`工具和MBean,管理员可以执行一系列的自动化操作,如监控状态、配置更改、启停服务器、部署和卸载应用等。了解和熟练使用这些命令对于高效管理WAS环境至关重要。在实际工作中,这不仅能提高...

    WAS6.x结群文档及批处理

    在IT领域,WebSphere Application Server(WAS)是IBM推出的一款强大的企业级应用服务器,用于运行和管理Java应用程序和Web服务。WAS6.x版本是该系列的一个重要里程碑,它提供了一整套高级功能,包括负载均衡、故障...

Global site tag (gtag.js) - Google Analytics