想请大神写一个在linux环境下用shell脚本控制jar的启动和停止,类似于一个后台服务那种的。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了想请大神写一个在linux环境下用shell脚本控制jar的启动和停止,类似于一个后台服务那种的。相关的知识,希望对你有一定的参考价值。

本人刚刚接触这个,很多不懂,希望能详细指点一下,谢谢!!

得看你的程序是什么样子 一般脚本中主要需要定义好你的启动用户 java的环境变量 jar需要调用的类和库 然后用case语句 来通过判断脚本后面键入的值 如start stop等一类的内容 来执行或结束jar程序 参考技术A /etc/init.d 目录下都是这种脚本。照着那些启动关闭脚本自己改改吧。 参考技术B 需求不够具体,如果仅仅是java可以控制的启停,那就很简单的,做为后台服务也可以。70分还是很不错的,可以加我QQ 66046916 。我可以给你写完 你再把分给我哈~~ 参考技术C 一下是启动脚本

#!/bin/sh
#-------------------------------------------------------------------------------------------------------------
#该脚本的使用方式为-->[sh startup.sh]
#该脚本可在服务器上的任意目录下执行,不会影响到日志的输出位置等
#-------------------------------------------------------------------------------------------------------------
#JAVA_HOME="/usr/java/jdk1.6.0_31"
JAVA_OPTS="-Duser.timezone=GMT+8 -server -Xms2048m -Xmx2048m -Xloggc:/app/code/CucPayTradePortalLog/gc.log"
APP_LOG=/app/code/CucPayTradePortalLog
APP_HOME=/app/code/CucPayTradePortal
APP_MAIN=com.cucpay.tradeportal.MainApp
CLASSPATH=$APP_HOME/classes
for tradePortalJar in "$APP_HOME"/lib/*.jar;
do
CLASSPATH="$CLASSPATH":"$tradePortalJar"
done
tradePortalPID=0
getTradeProtalPID()
javaps=`$JAVA_HOME/bin/jps -l | grep $APP_MAIN`
if [ -n "$javaps" ]; then
tradePortalPID=`echo $javaps | awk 'print $1'`
else
tradePortalPID=0
fi

startup()
getTradeProtalPID
echo "================================================================================================================"
if [ $tradePortalPID -ne 0 ]; then
echo "$APP_MAIN already started(PID=$tradePortalPID)"
echo "================================================================================================================"
else
echo -n "Starting $APP_MAIN"
nohup $JAVA_HOME/bin/java $JAVA_OPTS -classpath $CLASSPATH $APP_MAIN > $APP_LOG/nohup.log &
getTradeProtalPID
if [ $tradePortalPID -ne 0 ]; then
echo "(PID=$tradePortalPID)...[Success]"
echo "================================================================================================================"
else
echo "[Failed]"
echo "================================================================================================================"
fi
fi

startup
参考技术D

希望对你有用~~~


祝你好运~~~

望采纳~~~

linux下编写一个shell脚本,实现自动安装软件

安装的这个软件是一个确定的软件,不过可以自己选,也就是一个软件对应一个自动安装的shell脚本(有点绕,不知能否理解)。
比如我们平时安装一个软件时,有些地方会问你yes或者no,有的时候要你读完协议再确定,有点地方让你从几个选项中选择一个,而我需要的这个shell脚本能实现自动选择一种套路把它安装完毕。希望各位大神提点一下思路。或者有什么简单的实例更好。

参考技术A yum clean all
yum install -y binutils compat-db compat-libstdc++* control-center \
gcc gcc-c++ glibc glibc-common libstdc++ libstdc++-devel libXp make \
ksh sysstat setarch
if [ $? -eq 0 ];then
echo "Software is ready for install oracle!"
fi本回答被提问者和网友采纳
参考技术B Linux下Oracle的自动安装脚本,基本上就是yes和no

分享一个Linux下安装ASM+ORACLE的自动化脚本
http://blog.csdn.net/johnlongyuan/article/details/48416019
参考技术C 不知道 参考技术D 晕。。。要不要懒到这种程度啊?

以上是关于想请大神写一个在linux环境下用shell脚本控制jar的启动和停止,类似于一个后台服务那种的。的主要内容,如果未能解决你的问题,请参考以下文章

linux环境下如何通过shell脚本监测tomcat是不是关闭并自动启动?

在Linux操作系统下用Shell编写一时钟提示程序,要求能显示出上午好、中午好、下午好!!急待高手解决

linux下编写一个shell脚本,实现自动安装软件

linux shell调用java的jar包怎么写?

linux内核模块中调用shell脚本

linux-制作shell脚本在任何路径下用自定义命令关闭tomcat-pid不唯一的问题