Linux运行jar包脚本,我的 jar包和 .sh文件在同一目录。

#!/bin/sh
port=8090 #端口
jar_name=ruoyi-admin.jar  #/usr/local/ry-vue/ruoyi-admin.jar 要到当前目录执行,
#文件格式化::set ff=unix ,在win创建的文件放到linux需要格式化
#授权:chmod +x ry-vue.sh
#运行脚本提示信息
tips(){echo "-------------------------------------"echo ""echo "项目端口: ${port}"echo "项目地址: ${jar_name}"echo ""echo "你可以使用如下参数进行操作"echo "-status -查看当前项目运行状态"echo "-log -查看当前项目运行日志"echo "-start  -启动当前项目"echo "-stop  -停止当前项目"echo "-restart -重启当前项目"echo ""echo "-------------------------------------"
}#查看状态
status(){#查询端口的PIDpid=$( ps -ef |grep $jar_name |grep 'java -jar'|grep -v grep|awk '{print $2}')#判断端口是否被占用if [ -z "${pid}" ];thenecho "没有项目在运行"elseecho "项目正在运行中"fi
}#启动项目
start(){pid=$( ps -ef |grep $jar_name |grep 'java -jar'|grep -v grep|awk '{print $2}')if [ -z "${pid}" ];thenecho "正在启动......"nohup nohup java -jar  -Xms512M -Xmx512M $jar_name > /usr/local/ry-vue/catalina.out 2>&1 & elseecho "项目运行中或端口已被占用"fi}#停止项目
stop(){pid=$( ps -ef |grep $jar_name |grep 'java -jar'|grep -v grep|awk '{print $2}')if [ -z "${pid}" ];thenecho "没有项目在运行,请先启动"elsekill -9 $pidecho "已杀死进程为 ${pid} 的应用"fi
}#重启项目
restart(){pid=$( ps -ef |grep $jar_name |grep 'java -jar'|grep -v grep|awk '{print $2}')echo "正在杀死端口 ${port} 的pid ${pid} 中..."if [ -z "${pid}" ];thenecho "项目未启动"elsekill -9 $pidfisleep 5 #睡眠五秒start  #调用启动方法echo "项目重启成功!"
}# 滚动打印日志
printLog(){tail -f /usr/local/ry-vue/catalina.out
}#参数选项
case "$1" in"-status")status;;"-start")start;;"-stop")stop;;"-log")printLog;;"-restart")restart;;*)tips;;
esac

脚本也是我复制来的,有些指定了javahome路径,jar包是不需要的,
总结了以下步骤:
1 在window创建以上的ry-vue.sh文件,并上传到linux
把jar包名改成你自己的,
把start方法 printLog方法里日志的路径改成你自己的
2 vim ry-vue.sh
3 :set ff=unix ,格式化文件,不用按 a编辑
4 chmod +x ry-vue.sh ,授权
5 很重要的一点,看 jar_name=ruoyi-admin.jar,
我看了很多人写的全路径 jar_name=/usr/local/ry-vue/ruoyi-admin.jar ,试了很久,根本获取不到pid,哎都不试的吗?只能写 jar_name=ruoyi-admin.jar
6 在.sh目录执行,如下命令即可
sh ry-vue.sh -start
sh ry-vue.sh -stop
sh ry-vue.sh -restart
sh ry-vue.sh -status
sh ry-vue.sh -log

Linux自定义shell脚本一键启停jar包相关推荐

  1. Linux自定义shell脚本一键启停微服务jar包

    Java项目在Linux系统中的部署通常是以tomcat等容器化的方式部署,或者jar包的形式直接运行.在自动化部署畅行的今天,仍然会有不少的公司采用手动部署的方式部署 jar 包.而微服务打包形成的 ...

  2. Linux(Ubuntu)下设置开机自启shell脚本执行Java程序jar包

    一.建立脚本文件: 二.设置权限 三.将脚本文件放到启动目录下 四.更新优先级 cd /etc/init.d sudo update-rc.d startm.sh defaults 90 至此,开机启 ...

  3. 一键启停jar文件的sh脚本

    #!/bin/bash# jar包名称 JAR_NAME="my-app.jar"# 判断程序是否已经启动 function is_running {PID=$(ps aux | ...

  4. 使用shell脚本完成自动化部署jar包

    文章目录 1.前言 2.跳板机 3.服务器 4.注意事项 1.前言 首先我们这里有一台跳板机,然后有一台服务器,现在的要做的就是将跳板机上的jar包文件,然后通过服务器上的脚本实现旧jar包的备份,新 ...

  5. Linux shell脚本启动 停止 重启jar包

    只需将jar文件的路径替换到APP_NAME的值及JAVA_HOME的值就可以了,其他不用改. 注意:window编辑的shell文件,通过WinSCP上传的Linux服务器,需要改变文件的格式(查看 ...

  6. 无需Java环境,Jar包一键启停(静默启停),开机自启,读取外部配置文件

    无需Java环境,Jar包一键启停(静默启停),开机自启,读取外部配置文件 前言 一.目录结构 1.根目录 2.bin 目录 3.conf 目录 4.target 目录 二.文件内容 1.startu ...

  7. Linux之shell脚本编程

    Linux之shell脚本编程 编程介绍 shell 介绍 shell 脚本编程介绍 shell脚本命令 shell 编程基础知识 编程介绍 计算机编程的本质:输入.运算.输出 编译型语言: 程序在执 ...

  8. 使用 docker-compose 一键启停 Cromwell

     简介: 本文主要为大家讲解如何使用 docker-compose 一键启停 Cromwell. 镜像下载.域名解析.时间同步请点击 阿里巴巴开源镜像站 一.背景 Cromwell server 的启 ...

  9. shell脚本一键安装二进制Apache

    转载来源 :shell脚本一键安装二进制Apache : http://www.178linux.com/23401 安装背景:用的一台最小化安装的centos6. 编译安装安装的必备安装gcc,gc ...

最新文章

  1. AlphaGo Zero,一次成功的炒作而已?
  2. JS window.open()属性
  3. 11.1 问题描述及流程-机器学习笔记-斯坦福吴恩达教授
  4. 自定义ImageView 实现双击放大缩小还原,无极缩小和旋转及拖动(多机型测试很稳定)
  5. nginx rtmp module 代码详解 各模块主要功能
  6. 【CS229】监督学习 vs. 无监督学习
  7. java tomcat jvm内存_【转】Linux下tomcat JVM内存
  8. 用ISO TOOL破解游戏 图文
  9. 网吧服务器系统安装,网吧服务器和客户端安装教程
  10. oracle数据对应函数,Oracle函数取得姓名对应的拼音
  11. SpringBoot+Vue项目小区物业管理系统
  12. 006-Android-ContentProvider习题
  13. h5的横线_使用HTML5 Canvas绘制直线或折线等线条的方法讲解
  14. 小码王python_小码王为你解读Python编程课程
  15. iTunes音乐导入过程记录(专辑图片、歌手修改,iTunes使用,网易云歌单批量下载)
  16. linux下github上传文件,linux下将本地文件上传到github中?
  17. springdata jpa封装数据库关键字(EQ, LIKE, GT, LT, GTE, LTE,IN)
  18. 【新闻推荐系统】(task2)mysql和pymysql使用
  19. java地图完整项目-地图找房(基于百度地图-MongoDB)
  20. 放大器同向输入好还是反相输入好(转)

热门文章

  1. Tomcat https 443端口无法访问
  2. “说说家乡的互联网”主题有奖征文【已结束】
  3. JAVA计算机毕业设计招生平台管理系统Mybatis+源码+数据库+lw文档+系统+调试部署
  4. 各位学者,天气转凉,科研人的热情可不能凉
  5. 1129:统计数字字符个数
  6. 全国计算机应知应会能力测试,计算机知识应知应会试题.doc
  7. 微信小程序官方示例 Demo 代码
  8. 经典面试题-线程池七大参数
  9. windows python2和python3共存_windows python2与python3环境共存简易方法
  10. vue 调用微信分享接口 分享截图图片