Linux编辑启动、停⽌与重启springbootjar包脚本实例前⾔
springboot的配置⽂件中,配置⽂件的名字都有各⾃的意义跟⽤途
spring怎么读取jar文件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赋予权限
总结
以上就是这篇⽂章的全部内容了,希望本⽂的内容对⼤家的学习或者⼯作具有⼀定的参考学习价值,如果有疑问⼤家可以留⾔交流,谢谢⼤家对的⽀持。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。