通过sh脚本运行JAVA项目

编程笔记 小碎银 2个月前 (08-14) 3319次浏览 0个评论
文章目录[隐藏]

接着昨天的内容《Centos部署JAVA项目》往下写,如何通过sh脚本运行JAVA项目

我打算改一下写文章的思路,把最重要的东西放在文章的前面。因为很多朋友都是通过搜索引擎过来的,最关心的就是如何解决自己的问题。至于如何实现的,相对而言没有那么紧要,就放到文章的后面。

在jar包的同级新建一个.sh文件

通过sh脚本运行JAVA项目

把下面这段复制进去,注意要把里面的projectName改成你自己的jar包名字

#! /bin/sh
projectName=”你的jar包名字,不用带.jar

#提醒功能
help() {
echo “help: sh ${projectName}.sh [start|stop|restart]”
exit 1
}

#判断项目是否运行,并且返回对应数字(0 为未启动 1为启动)
is_exist(){
#获取pid的方式,个人喜欢咋写就咋写
pid=`ps -ef|grep ${projectName}.jar|grep -v grep|awk ‘{print $2}’`
if [ -z “${pid}” ]
then
return 0
else
return 1
fi
}

#开始运行项目
start(){
is_exist
#如果正在运行直接提示
if [ $? -eq 1 ]
then
echo “${projectName} is running”
exit 0;
else
#没有运行则运行项目
echo “start running ${projectName} …”
currentPath=`pwd`
startPath=$(cd `dirname $0`;pwd)
#这里写的比较简单,实际生产环境,需要配置参数
cd ${startPath}
nohup java -jar -server ${projectName}.jar > ${projectName}/run.log 2>&1 &
cd ${currentPath}
fi
}

#停止项目
stop(){
echo “stop $projectName …”
is_exist
if [ $? -eq 1 ]
then
#通过pid关闭
kill -9 $pid
echo “[ok]”
else
echo “[ok]”
fi
}

//选择运行方式
case “$1” in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
help
;;
esac

运行脚本

sh sh文件的名字.sh [start|stop|restart]

sh sh文件的名字.sh start 表示启动项目

sh sh文件的名字.sh stop 表示停止项目

sh sh文件的名字.sh restart 表示重启项目


个人经验

其实在开始的时候,我也不是通过脚本启动项目的,是直接通过命令 nohup java -jar XXXX 来运行的。

但是这种方式,每次运行项目都要手动输入一次命令,很繁琐而且容易出错。

所以一种更好的方式就是把启动、停止、重启命令都写到脚本里,一劳永逸。

 


小碎银 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:通过sh脚本运行JAVA项目
喜欢 (1)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址