SpringBoot应用启动并查看日志的Shell脚本
#!/bin/bash ############################################################ # 日期:2020-02-10 # 作者:何鹏举 # 说明:根据传入参数的jar包名称,重启SpringBoot应用并查看日志 ############################################################ if [[ -z $1 ]]; then echo "Usage: ./restartApp.sh jarName [jenkins]" echo " 第二个参数用于jenkins自动打包时, 不自动查看日志" exit 1 fi # 变量名字 scriptName=$0 jarName=$1 appName=${jarName%.*} logFile=$HOME/app/log/$appName/$appName.log echo "查看日志命令: tail -f "$logFile # 找到进程号并关闭应用, 注意需要去掉grep命令和脚本本身命令的进程 pid=`ps -ef | grep $jarName | grep -v grep | grep -v $scriptName | awk '{print $2}'` if [[ -n $pid ]]; then echo "找到应用"$appName"的进程号:"$pid",尝试正常停止应用" kill $pid sleep 5 fi pid=`ps -ef | grep $jarName | grep -v grep | grep -v $scriptName | awk '{print $2}'` if [[ -n $pid ]]; then echo "5秒内没有正常停止应用:"$appName", 进程号:"$pid",下面进行强制停止" kill -9 $pid fi # 启动应用 nohup java -jar -Xms256M -Xmx512M $jarName --eureka.instance.ip-address=101.132.97.183 >> /dev/null 2>&1 & echo "正在启动应用..." # jenkins启动的时候不查看日志(简单判断, 第二个参数不为空则是jenkins启动的) if [[ -n $2 ]]; then echo "jenkins启动, 不自动查看日志" exit 0 fi # 查看日志(日志文件不存在(首次启动),则休息下再tail) if [[ ! -f $logFile ]]; then sleep 2 fi tail -f $logFile
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix