#!/bin/bash# jar包名称
JAR_NAME="my-app.jar"# 判断程序是否已经启动
function is_running {PID=$(ps aux | grep ${JAR_NAME} | grep -v grep | awk '{print $2}')if [ -z "$PID" ]; thenreturn 1elsereturn 0fi
}# 启动程序
function start {if is_running; thenecho "程序已经在运行中,无需启动!"elsenohup java -jar ${JAR_NAME} > /dev/null 2>&1 &echo "程序启动成功!"fi
}# 停止程序
function stop {if is_running; thenkill -9 $PIDecho "程序已经停止!"elseecho "程序已经停止,无需再次停止!"fi
}# 主程序
case "$1" instart)start;;stop)stop;;restart)stopstart;;*)echo "正确的用法:sh $0 {start|stop|restart}"exit 1;;
esacexit 0

这个脚本使用了 Bash shell,并且包含三个主要函数:

  • is_running: 如果程序已经在运行,则返回 0,否则返回 1。

  • start: 启动 jar 文件。

  • stop: 停止程序。

你可以使用该脚本的以下命令:

  • sh script.sh start 启动程序。

  • sh script.sh stop 停止程序。

  • sh script.sh restart 重启程序。

需要注意的是,在使用该脚本之前,需要确保 JAR_NAME 变量被正确设置为你要运行的 jar 文件名。

一键启停jar文件的sh脚本相关推荐

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

    Linux运行jar包脚本,我的 jar包和 .sh文件在同一目录. #!/bin/sh port=8090 #端口 jar_name=ruoyi-admin.jar #/usr/local/ry-v ...

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

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

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

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

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

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

  5. kafka和zookeeper一键启停脚本(以及kafka关不掉问题解决)

    在设置kafka停止任务的时候需要注意修改配置文件 在kafka和zookeeper各自组件的bin下边配置文件 首先设置kafka的启停配置,在kafka的bin目录下 vim start-kafk ...

  6. Linux使用rostopic echo将rosbag文件转换成csv或txt文件以及sh脚本批量化操作

    文章目录 1 csv是什么格式,怎么打开 2 用rosbag echo命令转换格式 2.1 用rosbag命令查看bag信息 2.2 用rqt_bag命令打开rosbag 2.3 用rostopic ...

  7. windows c++ (3) windows获取进程PID、进程路径、进程启停及文件相关操作

    1.windows下获取PID windows下获取PID比较简单,可以直接通过TlHelp32.h内的Process32First + Process32Next来遍历进程获取PROCESSENTR ...

  8. linux 定时执行运行jar包的sh脚本

    需要运行的sh脚本,作用为重启java进程 #!/bin/bash --指定类型 source /etc/profile --指定环境变量 sleep 5 kill -9 `ps ax | grep ...

  9. 一键启停hive脚本

    #编写hive脚本 [root@singlelucky ~]# lsbak kb12 script test2.log text.log[root@singlelucky ~]# cd script[ ...

最新文章

  1. linux expr命令
  2. python xpath语法-Python爬虫基础之XPath语法与lxml库的用法详解
  3. Ubuntu桌面版与服务器版的区别
  4. MATLAB从入门到精通-matlab计算多重复杂多边形重叠面积
  5. leetcode刷题之树(三)
  6. java 10zhuan8,Java代码 10进制转2、8、16进制转换 / 2、8、16进制转10进制转换
  7. the little schemer 笔记(7)
  8. 为什么按照 Angular 官网教程执行简单的测试代码,会遇到expect is not defined的错误消息
  9. ECS主动运维2.0,体验升级,事半功倍
  10. activemq中怎么知道推送消息是否成功_如何优雅的使用activeMQ 安装、应用、安全认证、持久化...
  11. 甲醛、苯、甲苯、二甲苯对人体健康的危害
  12. python数列求和程序_python实现有趣的数学逻辑程序
  13. UI下拉模板|提升下拉列表菜单体验设计的10技巧
  14. 20190602:JDBC的增删改操作实践
  15. T100 ERP 开发说明(一)
  16. matlab seawater,seawater Matlab seawater工具包 联合开发网 - pudn.com
  17. Minimax算法与Alpha-Beta算法
  18. 即将来临的Rails 4.0将放弃Ruby 1.8支持,改进后台任务、缓存等多项内容
  19. 三点法求三维坐标精度误差评估实验
  20. Maven使用与学习

热门文章

  1. 使用委托实现信用卡用户定时还款功能
  2. UVM 使用start_item和finish_item指定sequencer发送item,比uvm_do_on更灵活。
  3. busybox 知:构建
  4. 脚本部署csf防火墙_CSF的功能和安装过程(ConfigServer安全性和防火墙)
  5. 计算机应用一级考试win10,计算机一级上机考试题库
  6. idea中发生Can't load IA 64-bit .dll on a AMD 64-bit platform错误
  7. 量子计算:第四次工业革命的引擎
  8. 根据文本自动生成UML时序图(draw.io格式)
  9. 什么是浅拷贝和深拷贝
  10. 开源并不是你认为的那些事