Linux编辑启动、停止与重启springboot jar包脚本实例
作者:陈灬大灬海 发布时间:2022-09-02 19:11:36
前言
springboot的配置文件中,配置文件的名字都有各自的意义跟用途
dev 开发环境
prod 生产环境(默认)
test 测试环境
加载指定配置文件 --spring.profiles.active=prod
springboot加载jar包的方式有
// 直接在控制台进行启动,缺点就是控制台关闭项目也就关闭了。
java -jar bootdo.jar
// 这种方式可以运行在后台,但是如果推出了shell的话,那也会挂
java -jar /bootdo-2.0.0.jar > bootdolog.file 2>&1 &
// 加上nohup的话,即使推出shell,也不影响。
nohup java -jar /bootdo-2.0.0.jar > bootdolog.file 2>&1 &
解释
nohup表示永久运行。&表示后台运行
> 代表重定向到哪里
1 表示stdout标准输出,系统默认值是1,所以">/dev/null"
等同于"1>/dev/null"
2 表示stderr标准错误
nohup ./mqnamesrv >/home/cxb/mqnamesrv.out 2>&1 &
即标准输出到mqnamesrv.out中,接着,标准错误输出重定向等同于标准输出,输出到同一文件中。
在服务器上通过如下方式启动成功之后,如果涉及到重新启动,那么你需要通过ps -ef | grep bootdo
查询到进程号,再通过kill -s 9 ${pid}
进行杀死再重新启动,很是麻烦。
nohup java -jar /bootdo-2.0.0.jar > bootdolog.file 2>&1 &
一两次还好说,如果涉及到多次,那就有些崩溃了。
这样,可以通过编写一个shell脚本来进行启动(start)停止(stop)重启(restart)操作,一步到位,方便高效
在自定义目录创建 wss.sh 脚本,编辑内容如下。
#!/bin/bash
#这里可替换为你自己的执行程序,其他代码无需更改
APP_NAME=websocketserver-0.0.1-SNAPSHOT.jar
#使用说明,用来提示输入参数
usage() {
echo "Usage: sh 脚本名.sh [start|stop|restart|status]"
exit 1
}
#检查程序是否在运行
is_exist(){
pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `
#如果不存在返回1,存在返回0
if [ -z "${pid}" ]; then
return 1
else
return 0
fi
}
#启动方法
start(){
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is already running. pid=${pid} ."
else
nohup java -jar /mnt/ssd1/project/websocket/$APP_NAME > /mnt/ssd1/project/websocket/websocketserverlog.file 2>&1 &
echo "${APP_NAME} start success"
fi
}
#停止方法
stop(){
is_exist
if [ $? -eq "0" ]; then
kill -9 $pid
else
echo "${APP_NAME} is not running"
fi
}
#输出运行状态
status(){
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is running. Pid is ${pid}"
else
echo "${APP_NAME} is NOT running."
fi
}
#重启
restart(){
stop
start
}
#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
usage
;;
esac
在标红接头行配置启动命令。
之后就可以通过 wss.sh start | stop | restart
实现启动,停止,重启操作了。
补充下
sh xxx.sh与./xxx.sh区别
sh xxx.sh 是不需要有执行权限
./xxx.sh 是需要有执行权限的,可以通过 chmod +x xxx.sh
赋予权限
来源:http://%cnbcom%/c-h-y/p/10460061.html


猜你喜欢
- 二、防病毒系统1、安装McAfeeuvscanforlinuxMcAfeeuvscanforlinux虽然是试用,但是没有什么限制,可以升级
- 1.思维导图2.如何搭建一个容器2.1 准备实验环境(1)环境选择管理工具:docker engine,因为Docker最流行使用最广泛;r
- 我是一名老站长,但是我不是年龄老,而是我接触这一行已经快7个年头。本身也是可以和HAO123,9FLASH平起平坐的。可是由于自己的不坚定,
- 北京时间10月27日消息,据国外媒体报道,百度(纳斯达克:BIDU)首席执行官李彦宏于周二透露百度客户将于2009年12月1日全面向凤巢系统
- 接到这个项目时我看了他们的网站,基本上没有做SEO,搜索引擎优化也没有做,我查了一个百度,谷歌都没有收录他们的网站.接到这个项目时已经是年底
- 本文去年12月11日网易首页随着自主研发的搜索引擎“有道”正式版问世,首页也做了相应调整;今年的3月底腾讯在毫无消息的前提下更换了新首页;今
- 介绍在日常的维护过程中创建用户操作用的相对会多一些,但是在这个过程中涉及到的知识点就不单单就是useradd了,接下来就来详细了解账号管理的
- 加入google directory以后的网址将受到Google的特别有待,所以历来SEO都特别看重这类的链接。而大家知道GOOGLE DI
- 今天来介绍Godaddy如何进行OUTLOOK设置,首先设立你的电子邮件帐号。在微软outlook ,选择工具电子邮件帐户。关于电子邮件帐户
- shell中的curl网络请求的实现curl 是利用URL语法在命令行下工作的文件传输工具,1997年首次发行,支持文件上传和下载,结合sh
- 提示需要输入密钥,选择【我没有密钥】选择有桌面体验的自定义新建C盘 100G选择100G的主分区,下一步PS:未分配的空间,先不理,安装完系
- 从我开始知道 SEO 这几年起,基本上所有的 SEO 活动都是基于前端的,从header 到 body,从小标签到 CSS,从链接到关键词密
- RHEL4中的vsftpd在编译时已经支持tcp_wrappers,因此可以利用tcp_wrappers实现主机访问控制。实验之前,首先说下
- 有一些问题常令用户困惑:在产品的功能上,各个厂商的描述十分雷同,一些“后起之秀”与知名品牌极其相似。面对这种情况,该如何鉴别?描述得十分类似
- 本教程介绍了如何在 Linux 终端验证域名或计算机名的 IP 地址。本教程将允许你一次检查多个域。你可能已经使用过这些命令来验证信息。但是
- 作为国内最成功的网页游戏之一,《商业大亨Online》在不久前于新加坡、马来西亚、泰国三地上线。昨天,《商业大亨》再传喜讯——《商业大亨》将
- 我们做好一个网站后如何迅速提升关键字排名方法呢?今天就以“休闲小游戏”这个词来说一下吧。首先们记住:
- centos官网地址https://www.centos.org/首先下载好自己需要的文件开始安装安装过程比较多,很多都是直接点击下一步即可
- 如果把09年刚开始这两天算上,我算接触网络也有虚岁也有10 年了。算上一个中年网民,对CN玉米,有点看法。浅薄的文字只能说明我表达能力欠佳,
- 最近比较有空,大四出来实习几个月了,作为实习狗的我,被叫去研究Docker了,汗汗!Docker的三大核心概念:镜像、容器、仓库镜像:类似虚