#!/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. 2018几大主流的 UI/JS 前端框架
  2. Redux概念之一: Redux简介
  3. 科大星云诗社动态20210410
  4. 打开AzureRay园子的大门,欢迎大家串门哟~
  5. Linux 命令(三)--用户管理
  6. 使用wireshark+ssh+tcpdump远程抓包
  7. Qt文档阅读笔记-Broadcast Sender Example与Broadcast Receiver Example解析
  8. Timus 1741
  9. service network restart重启失败_NodeManager 启动失败问题处理
  10. 成为谷歌的java程序员首先要做到这五点!
  11. rk3399出现UART2串口打印异常问题
  12. 邮件管理数据库设计--MySQL
  13. 群体智能优化算法介绍
  14. 玩转Redis-生产环境如何导入、导出及删除大量数据
  15. 一种适用于FDD+TDD基站天线阵列的多天线共存方式
  16. mpAndroidchart 坐标和图表距离_合二为一——在Excel中制作组合图表!
  17. java实现录屏_java录屏详细代码
  18. STM32F303+LAN9252的EtherCAT实现IO、AD、DA
  19. html 必应网搜索,教程:创建自定义搜索网页 - 必应自定义搜索 - Azure Cognitive Services | Microsoft Docs...
  20. C# Speech学习笔记(一)

热门文章

  1. 扯淡篇 之 笔试面试
  2. Qt实现窗口四周阴影
  3. getClass 方法
  4. 菜鸟学设计模式之一思想准备
  5. JSON.parse() 方法与$.parseJSON()以及JSON.stringify()区别
  6. python字符串常用函数
  7. 基于Windows Server 2003的活动目录集成方案
  8. umount: 提示 target is busy
  9. 小明学PostgreSQL : 自旋锁浅析
  10. 非归零编码、曼彻斯特编码和差分曼彻斯特编码练习