一键启停jar文件的sh脚本
#!/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脚本相关推荐
- Linux自定义shell脚本一键启停jar包
Linux运行jar包脚本,我的 jar包和 .sh文件在同一目录. #!/bin/sh port=8090 #端口 jar_name=ruoyi-admin.jar #/usr/local/ry-v ...
- Linux自定义shell脚本一键启停微服务jar包
Java项目在Linux系统中的部署通常是以tomcat等容器化的方式部署,或者jar包的形式直接运行.在自动化部署畅行的今天,仍然会有不少的公司采用手动部署的方式部署 jar 包.而微服务打包形成的 ...
- 无需Java环境,Jar包一键启停(静默启停),开机自启,读取外部配置文件
无需Java环境,Jar包一键启停(静默启停),开机自启,读取外部配置文件 前言 一.目录结构 1.根目录 2.bin 目录 3.conf 目录 4.target 目录 二.文件内容 1.startu ...
- 使用 docker-compose 一键启停 Cromwell
简介: 本文主要为大家讲解如何使用 docker-compose 一键启停 Cromwell. 镜像下载.域名解析.时间同步请点击 阿里巴巴开源镜像站 一.背景 Cromwell server 的启 ...
- kafka和zookeeper一键启停脚本(以及kafka关不掉问题解决)
在设置kafka停止任务的时候需要注意修改配置文件 在kafka和zookeeper各自组件的bin下边配置文件 首先设置kafka的启停配置,在kafka的bin目录下 vim start-kafk ...
- Linux使用rostopic echo将rosbag文件转换成csv或txt文件以及sh脚本批量化操作
文章目录 1 csv是什么格式,怎么打开 2 用rosbag echo命令转换格式 2.1 用rosbag命令查看bag信息 2.2 用rqt_bag命令打开rosbag 2.3 用rostopic ...
- windows c++ (3) windows获取进程PID、进程路径、进程启停及文件相关操作
1.windows下获取PID windows下获取PID比较简单,可以直接通过TlHelp32.h内的Process32First + Process32Next来遍历进程获取PROCESSENTR ...
- linux 定时执行运行jar包的sh脚本
需要运行的sh脚本,作用为重启java进程 #!/bin/bash --指定类型 source /etc/profile --指定环境变量 sleep 5 kill -9 `ps ax | grep ...
- 一键启停hive脚本
#编写hive脚本 [root@singlelucky ~]# lsbak kb12 script test2.log text.log[root@singlelucky ~]# cd script[ ...
最新文章
- linux expr命令
- python xpath语法-Python爬虫基础之XPath语法与lxml库的用法详解
- Ubuntu桌面版与服务器版的区别
- MATLAB从入门到精通-matlab计算多重复杂多边形重叠面积
- leetcode刷题之树(三)
- java 10zhuan8,Java代码 10进制转2、8、16进制转换 / 2、8、16进制转10进制转换
- the little schemer 笔记(7)
- 为什么按照 Angular 官网教程执行简单的测试代码,会遇到expect is not defined的错误消息
- ECS主动运维2.0,体验升级,事半功倍
- activemq中怎么知道推送消息是否成功_如何优雅的使用activeMQ 安装、应用、安全认证、持久化...
- 甲醛、苯、甲苯、二甲苯对人体健康的危害
- python数列求和程序_python实现有趣的数学逻辑程序
- UI下拉模板|提升下拉列表菜单体验设计的10技巧
- 20190602:JDBC的增删改操作实践
- T100 ERP 开发说明(一)
- matlab seawater,seawater Matlab seawater工具包 联合开发网 - pudn.com
- Minimax算法与Alpha-Beta算法
- 即将来临的Rails 4.0将放弃Ruby 1.8支持,改进后台任务、缓存等多项内容
- 三点法求三维坐标精度误差评估实验
- Maven使用与学习
热门文章
- 使用委托实现信用卡用户定时还款功能
- UVM 使用start_item和finish_item指定sequencer发送item,比uvm_do_on更灵活。
- busybox 知:构建
- 脚本部署csf防火墙_CSF的功能和安装过程(ConfigServer安全性和防火墙)
- 计算机应用一级考试win10,计算机一级上机考试题库
- idea中发生Can't load IA 64-bit .dll on a AMD 64-bit platform错误
- 量子计算:第四次工业革命的引擎
- 根据文本自动生成UML时序图(draw.io格式)
- 什么是浅拷贝和深拷贝
- 开源并不是你认为的那些事