jekins 部署springboot 脚本
#!/bin/bash
echo "stop SpringBoot "
pid=`ps -ef | grep ejoyst-bappapi-gateway.jar | grep -v grep | awk '{print $2}'` #查找进程并输出端口号
echo “旧应用进程id:$pid”
if [ -n "$pid" ] #判断pid是否存在切非0
then
kill -9 $pid #强制终止进程
fi
export JAVA_HOME=/usr/java/jdk1.8.0_161
echo ${JAVA_HOME}
echo
"授权当前用户"
chmod 777 /opt/deploy/ejoyst-bappapi-gateway.jar
echo
"执行...."
cd /opt/deploy/
nohup ${JAVA_HOME}/bin/java -jar ejoyst-bappapi-gateway.jar > /dev/
null
&
echo
"启动成功"
nohup和&
使用&后台运行程序:
-
结果会输出到终端
-
使用Ctrl + C发送SIGINT信号,程序免疫
-
关闭session发送SIGHUP信号,程序关闭
使用nohup运行程序:
-
结果默认会输出到nohup.out
-
使用Ctrl + C发送SIGINT信号,程序关闭
-
关闭session发送SIGHUP信号,程序免疫
平日线上经常使用nohup和&配合来启动程序:
-
同时免疫SIGINT和SIGHUP信号
同时,还有一个最佳实践:
-
不要将信息输出到终端标准输出,标准错误输出,而要用日志组件将信息记录到日志里
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步