简易shell脚本启动jar包
可参考博客:
- Shell脚本中$0、$?、$!、$$、$*、$#、$@等的意义 https://blog.csdn.net/csgd2000/article/details/80396996
- shell脚本[] [[]] -n -z 的含义解析 https://blog.csdn.net/keep_lcm/article/details/80551435
- shell基本运算符 | 菜鸟教程 https://blog.csdn.net/keep_lcm/article/details/80551435
#!/bin/bash
APP_NAME=sb_security-0.0.1-SNAPSHOT.jar
usage() {
echo "case: sh run.sh [start|stop|restart|status]"
echo "请类似这样执行 ./*.sh start or ./*sh restart"
exit 1
}
# 判断当前服务是否已经启动的函数
is_exist(){
echo "执行 is_exist 方法"
pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' ` #根据ps 命令查询当前服务的进程号 赋值给pid"
if [ -z "${pid}" ]; then #判断pid是否为空
echo "pid 等于null"
return 1
else
echo "pid 不等于null"
return 0
fi
}
start(){
is_exist
if [ $? -eq "0" ]; then # [$? -eq "0"] 说明pid不等于空 说明服务正在运行中,将进程号打印出来
echo "${APP_NAME} running. pid=${pid}"
else
nohup java -jar ../lib/$APP_NAME > log.file 2>log.error & # 说明pid为空 执行java -jar 命令启动服务
echo "${APP_NAME} started"
fi
}
stop(){
echo "执行 stop 方法"
is_exist
if [ $? -eq "0" ]; then # [$? -eq "0"] 说明pid不等于空 说明服务正在运行中,将进程号杀死
kill -9 $pid
echo "${pid} stopped"
else
echo "${APP_NAME} not running"
fi
}
status(){
echo "执行 status 方法"
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} running. Pid is ${pid}"
else
echo "${APP_NAME} not running"
fi
}
# 重启命令其实就是先执行关闭命令 再执行重启命令
restart(){
stop
start
}
# 这里的$1 取的是当前输入命令 的第二个参数 ./start.sh start
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
usage
;;
esac
case "$1" 取第二个参数 即./run.sh start 中的start
输入./run.sh start 则会调用 start函数 is_exist函数 pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' ` #取服务的进程号 赋值给pid if [ -z "${pid}" ]; then#判断pid是否为空
return 1
else
return 0
fi is_exist
if [ $? -eq "0" ]; then # $? 取最后运行的命令的结束代码[返回值], 判断is_exist返回值与 0比较

简易shell脚本启动jar包的更多相关文章
- linux下shell脚本启动jar包
本文采用的jar包是通过idea下maven打包的springboot项目. 写这个shell脚本是为了在linux下方便启动jar包时不用输入太多的shell命令,将启动脚本的一系列shell命令整 ...
- 通过shell脚本排查jar包中类冲突
当我们在线上运行项目时,依赖很多jar包,有时候某个类的全限定名,在多个包中出现,而某个包中的类的方法没有,而且在类加载时,刚好加载了这个类,可能会报找不到方法,或者找不到类的异常,这种情况就可能是类 ...
- 一个简单的Linux启动jar包的shell脚本
背景: 项目设备端需要运行jar包程序与服务端进行socket连接并发送数据,每次启动进程时,都需要在Linux终端输入启动jar包的命令,比较繁琐,随之尝试将启动jar包的命令写入shell脚本文件 ...
- linux下shell脚本执行jar文件
最近在搞一个shell脚本启动jar文件个关闭jar文件的东东.搞得我都蛋疼了.今天晚上终于弄好了 话说,小弟的linux只是刚入门,经过各方查资料终于搞定了.话不多说,下面开始上小弟写的shell脚 ...
- Linux下shell通用脚本启动jar(微服务)
Linux下shell通用脚本启动jar(微服务) vim app_jar.sh #!/bin/bash #source /etc/profile # Auth:Liucx # Please chan ...
- Linux部署项目 shell脚本启动 及 Centos7开放指定端口
我们首先要在linux上安装好jdk tomcat mysql 这些基本环境,这些可以在楼主的 Linux入门 里面找到. linux部署spring项目 1. 右击项目,maven ...
- 把封装脚本做成jar包
前提: eclipse, selenium, maven 把二次封装过的脚本做成jar包, 这样可以在新建工程里也调用封装过的方法. 实现步骤: 1. project 右键 => maven = ...
- 使用 "java -jar"命令启动jar包时报不支持的jdk版本异常
在使用java -jar 命令启动一个jar包的时候,提示版本不支持: [root@hadoop01 eureka-server-master]# java -jar xuebusi-eureka-s ...
- java命令启动jar包
本人对这些命令也是一知半解,记录备用. 1. 使用java命令行执行java文件 # 设置命令窗口标题 title test1 # 开启输出 @echo on # 设置环境变量JAVA_HOME se ...
随机推荐
- 别人都在用数据分析软件,你还在用excel做数据分析?
之前听朋友吐槽过,他们是上千人的企业,但做数据分析居然还是靠手动上传数据,而且还是用的excel做的.但其实excel并不是企业做数据分析的好工具. 数据分析是指用适当的统计分析方法对收集来的大量数据 ...
- Python:collections.Counter
collections是Python内建的一个集合模块,其中提供了许多有用的集合类: namedtuple:只有属性的简易类 deque:双向增删的List ChainMap:多个字典的链接 Coun ...
- WPS:Excel删除指定行以后的所有行
首先定位到你的1000行,然后选中第1000行按住Shift,再同时按住Ctrl加向下的方向键,最后删除即可了.
- c#修改密码后实现重新登录
C#中密码修改成功后,提示"密码修改成功,请重新登录.当用户一点确定的时候就跳到登录界面 直接重启程序就是了,在弹出个Messages.show("密码修改成功,请重新登录.&qu ...
- 5. Java方法
5.Java方法 1.何谓方法 Java方法是语句的集合,它们在一起执行一个功能. 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 设计方法的原则:方法 ...
- laravel html转pdf
这两天项目中需要将HTML页面转换为PDF文件方便打印,我在网上搜了很多资料.先后尝试了laravel-dompdf和laravel-snappy两种扩展包,个人感觉laravel-snappy比较好 ...
- cookie、session和Storage
概念: cookie:HTTP响应头的一部分,通过name=value的形式存储,主要用于保存登录信息.在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭. 存放数据大小为4K左右 .有个 ...
- ubuntu 学习中的坑-2021-11-22
安装ssh-server服务 查看是否安装ssh服务 #dpkg -l | grep ssh 安装ssh-server服务 #sudo apt-get install openssh-server 然 ...
- 微信小程序结合原生JS实现电商模板(二)
接 <微信小程序结合原生JS实现电商模板(一)>,在首页列表加入购物车到购物和模块增删数量,动态计算商品价格实现后,本次提交主要实现了商品详情(还不完善)简单页面,从商品详情页跳转到购物车 ...
- 从此 Typora 代码块有了颜色
起因 平时喜欢用typora记笔记,但是typora默认代码块没有指定语言,没有高亮看着很不舒服,所以用Autohotkey花了半天写了个脚本,按自己的快捷键就可以自动生成代码块并添加语言,这样就方便 ...