概述
通过shell脚本对Java项目进行状态查询、服务启动、服务停止、服务重启操作。
创建***.sh文件,编写shell脚本,内容如下:
#!/bin/sh
port=8080 #定义变量等号左右不能有空格
jar_name=/opt/app/***.jar
#运行脚本提示信息
tips(){
echo "-------------------------------------"
echo ""
echo "服务端口: ${port}"
echo "Jar包路径: ${jar_name}"
echo ""
echo "可执行命令参数:"
echo "-status -查看当前服务运行状态"
echo "-start -启动服务"
echo "-stop -停止服务"
echo "-restart -重启服务"
echo ""
echo "-------------------------------------"
}
#查询状态
status(){
#查询端口的PID {print $7}-取出打印的第七个值
pid=`netstat -apn |grep $port |awk '{print $7}' |cut -d/ -f 1`
#判断端口是否被占用
if [ -z "${pid}" ];then
echo "没有项目在运行"
else
echo "项目正在运行中"
fi
}
#启动项目
start(){
pid=`netstat -apn |grep $port |awk '{print $7}' |cut -d/ -f 1`
if [ -z "${pid}" ];then
echo "正在启动......"
java -jar -Xms1024m -Xmx1024m $jar_name
else
echo "项目运行中或端口已被占用"
fi
}
#停止项目
stop(){
pid=`netstat -apn |grep $port |awk '{print $7}' |cut -d/ -f 1`
if [ -z "${pid}" ];then
echo "没有项目在运行,请先启动"
else
kill -9 $pid
echo "已杀死端口为 ${port} 的应用"
fi
}
#重启项目
restart(){
pid=`netstat -apn |grep $port |awk '{print $7}' |cut -d/ -f 1`
echo "正在杀死端口 ${port} 的pid ${pid} 中..."
if [ -z "${pid}" ];then
echo "项目未启动"
else
kill -9 $pid
fi
sleep 5 #睡眠五秒
start #调用启动方法
echo "项目重启成功!"
}
#参数选项
case "$1" in
"-status")
status
;;
"-start")
start
;;
"-stop")
stop
;;
"-restart")
restart
;;
*)
tips
;;
esac
注:
创建完成后需要对文件授权才能执行
#授予文件最大权限
chmod 777 ***.sh
示例命令
./***.sh -status
最后
以上就是自然硬币为你收集整理的Linux通过Shell脚本操作Jar包运行状态的全部内容,希望文章能够帮你解决Linux通过Shell脚本操作Jar包运行状态所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复