我是靠谱客的博主 彩色书包,最近开发中收集的这篇文章主要介绍linux springboot jar包启动、停止脚本的编写1.启动shell2.停止shell3.单纯的启动jar命令,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
jar包启动、停止脚本的编写
- 1.启动shell
- 1.1命令详解
- 2.停止shell
- 3.单纯的启动jar命令
1.启动shell
#!/bin/sh
# start.sh
#get pwd
DIR_HOME="${BASH_SOURCE-$0}"
DIR_HOME="$(dirname "$DIR_HOME")"
PRGDIR="$(cd "${DIR_HOME}"; pwd)"
jarfile=$PRGDIR/test.jar
#get runing pid
pid=$(ps -ef | grep java | grep $jarfile | awk '{print $2}')
#nohup java -jar $jarfile >/dev/null 2>&1 &
nohup java -jar $jarfile uuh --spring.profiles.active=pro >/dev/null 2>&1 &
pid=$(ps -ef | grep java | grep $jarfile | awk '{print $2}')
echo "INFO: $jarfile is running! pid=$pid"
1.1命令详解
-
BASH_SOURCE-$0:当前脚本全路径(D:/study_other/shell/demo/demo-chapter-1/test.sh到具体的哪个文件)
-
dirname命令截取给定路径的目录部分去除文件名(D:/study_other/shell/demo/demo-chapter-1)
-
jarfile(取值上面的jarfile),$ ()是执行小括号里面的命令并赋值给变量,${}是取大括号里面的变量值的意思
-
–spring.profiles.active=pro(配置启动环境spring的配置,这里配置pro的配置文件)
-
/dev/null 2>&1
分解这个组合:“>/dev/null 2>&1” 为五部分
- ">"代表重定向到哪里,例如:echo “123” > /home/123.txt
- /dev/null 代表空设备文件
- 2 表示stderr标准错误
- & 表示等同于的意思,2>&1,表示2的输出重定向等同于1
- 1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于 “1>/dev/null”
这里的1和2指的是文件描述符。0:stdin 1:stdout 2:stderr
2.停止shell
#!/bin/sh
process=test
ifrun=$(ps -ef | grep $process | grep java)
if [ "$ifrun" != "" ];then
kill -9 `ps -ef | grep $process | grep java | awk '{print $2}'`
echo "INFO: $process is stoped!"
else
echo "WARN: Not found $process running."
3.单纯的启动jar命令
# ssh窗口被锁定,终端关闭,jar程序停止
java -jar xx.jar
#ssh窗口不被锁定,终端关闭,jar程序停止
java -jar xx.jar &
#ssh窗口不被锁定,终端关闭,jar程序不会停止日志输出到nohup.out中,nohup表示一直执行,&后台运行
nohup java -jar xx.jar &
#ssh窗口不被锁定,终端关闭,jar程序不会停止,日志输出到重定向到log.txt中
nohup java -jar xx.jar >log.txt &
最后
以上就是彩色书包为你收集整理的linux springboot jar包启动、停止脚本的编写1.启动shell2.停止shell3.单纯的启动jar命令的全部内容,希望文章能够帮你解决linux springboot jar包启动、停止脚本的编写1.启动shell2.停止shell3.单纯的启动jar命令所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复