在linux系统中创建开机自启动应用和应用自启脚本
在linux系统中创建开机自启动应用和应用自启脚本。脚本如下:
start.sh --启动目标应用的脚本
keeper.sh --循环自启目标应用脚本,用于应用进程挂掉后的自启
install.sh --应用安装脚本,第一次部署应用时执行
start.sh
#!/bin/sh #指定后台日志目录及日志文件名 logfilePath="/home/myapp/logs/" logfileName=$logfilePath"nohup.log" #如果不存在则创建 if [ ! -d "$logfilePath" ]; then mkdir -p "$logfilePath" touch "$logfileName" fi
#启动目标应用脚本【需要修改】 nohup java -jar /home/myapp/myapp-0.0.1-SNAPSHOT.jar --spring.config.location=/home/myapp/config/application.properties >/home/myapp/logs/nohup.log 2>&1 &
keeper.sh
#!/bin/sh #应用bin目录【需要修改】 appStartFile="/home/didi/bin/start.sh" #应用进程名称【需要修改】 progressName="didijoin-0.0.1-SNAPSHOT.jar" while true;do #目标应用进程名称【需要修改】 PIDS=`ps -ef|grep $progressName | grep -v grep|awk '{print $2}'` if [ "$PIDS" = "" ];then echo "the program[$progressName] is not running,restart it!" echo "restart..." sh "$appStartFile" fi sleep 3 done
install.sh
#!/bin/sh #keeper.sh文件完整目录【需要修改】 keeperFilePath="/home/myapp/bin/keeper.sh" #程序名称【需要修改】 echo "install program[myapp]..." #向rc/local文件末尾追加启动keeper任务的脚本 echo "sh $keeperFilePath">>/etc/rc.local echo "install program success!" echo "start program..." #日志目录【需要修改】 nohup sh "$keeperFilePath" >/home/myapp/logs/install.log 2>&1 & echo "start program success!"
分类:
linux
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2017-08-07 nodejs应用在linux服务器中的部署