脚本掌控,Linux上实现Spring Boot(JAR包)开机自启

news2024/11/16 9:46:16
😊 @ 作者: 一恍过去
💖 @ 主页: https://blog.csdn.net/zhuocailing3390
🎊 @ 社区: Java技术栈交流
🎉 @ 主题: 脚本掌控,Linux上实现Spring Boot(JAR包)开机自启
⏱️ @ 创作时间: 2023年08月24日

在这里插入图片描述

目录

  • 前言
  • 1、创建工作目录
  • 2、创建启动脚本
  • 3、创建停止脚本
  • 4、设置开机自启

前言

Linux自启(或开机自启)指的是在Linux系统启动时自动运行特定的程序或脚本。当计算机启动时,操作系统会按照一定的顺序加载系统服务和配置,其中包括自动启动一些应用程序或服务。这些应用程序或服务会在系统启动后自动运行,以提供特定的功能或服务。

开机自启的好处在于可以在系统启动时自动恢复之前的工作状态,减少手动干预,同时确保特定的服务或应用程序始终处于运行状态,提供持续的服务。

sh脚本是指Shell脚本,是一种在Unix/Linux系统上运行的脚本文件,通常使用Shell编程语言来编写。Shell是操作系统的一种命令行解释器,它可以用来执行操作系统命令、管理文件系统、处理文本数据等。

Shell脚本是一个纯文本文件,以.sh扩展名结尾。它包含一系列Shell命令和控制结构,用于自动化完成一系列任务。通过编写Shell脚本,可以将一系列复杂的操作和任务集中到一个文件中,并通过运行脚本来实现这些操作,从而简化了操作过程并提高了效率。

1、创建工作目录

创建jar部门的目录,并且将jar上传到该目录下

mkdir -p /home/java-server/test-demo

2、创建启动脚本

进入jar目录:

cd  /home/java-server/test-demo

创建脚本文件:

vim start.sh

启动脚本内容:

#!/bin/sh
export LANG="en_US.UTF-8"
cd /home/java-server/test-demo
runMessage=`ps aux | grep \`cat pidfile.txt\``
projectStartCommand="/usr/local/java/jdk1.8.0_131/bin/java -jar xxx.jar"
if [[ $runMessage == *$projectStartCommand* ]]
then
    echo "Application has starting ,restarting..."
    kill -9 `cat pidfile.txt`
    nohup /usr/local/java/jdk1.8.0_131/bin/java -jar xxx.jar -java.tmp.dir=/home/java-server/test-demo/temp >/dev/null 2>&1 & echo $! > pidfile.txt
else
    echo "Application has stopped ,starting..."
    nohup /usr/local/java/jdk1.8.0_131/bin/java -jar xxx.jar -java.tmp.dir=/home/java-server/test-demo/temp >/dev/null 2>&1 & echo $! > pidfile.txt
fi
  • 脚本中/home/java-server/test-demo就是jar包所在的,可以根据实际情况定。
  • xxx.jar为实际的jar包名称。
  • /usr/local/java/jdk1.8.0_131/bin/java为jdk环境所在路径。

3、创建停止脚本

进入jar目录:

cd  /home/java-server/test-demo

创建脚本文件:

vim stop.sh

启动脚本内容:

#!/bin/sh
cd /home/java-server/test-demo
PID=$(cat pidfile.txt)
if [ ${PID} ]; 
then
    echo 'Application is stpping...'
    echo kill $PID DONE
    kill $PID
else
    echo 'Application is already stopped...'
fi

4、设置开机自启

进入system:

# 进入system
cd /usr/lib/systemd/system/ 

创建自启脚本:

vim xxx.service

xxx.service为脚本的名称,一般来就是jar包前缀名称一致,比如:test-demo.service

内容如下:

[Unit]
Description=xxx
After=network.target

[Service]
Type=forking
ExecStart=/home/java-server/test-demo/start.sh
ExecStop=/home/java-server/test-demo/stop.sh
PrivateTmp=true

[Install]
WantedBy=multi-user.target
  • Description:描述,一般为项目名称
  • ExecStart:开启脚本位置
  • ExecStop:停止脚本位置

设置脚本权限:

# 自启文件
chmod 777 xxx.service
# 启动文件
chmod 777  /home/java-server/test-demo/start.sh
# 停止文件
chmod 777  /home/java-server/test-demo/stop.sh

加入自启命令 :

systemctl daemon-reload
systemctl enable xxx.service

启动|停止命令:

# 启动
systemctl start xxx

# 停止
systemctl stop xxx
  • xxx就是xxx.service的前缀。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/922061.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智能综合性公共系统安防监控系统项目建设方案

一、系统概述 智能综合性公共系统安防监控系统是为了保障公共系统的安全而设计的一套综合性的安防解决方案。该系统集成了多种先进的技术和设备,以实现对系统内部和周围环境的全方位、高效率的监控和管理。智能综合性公共系统安防监控系统旨在提供全面、高效的安全保…

冠达管理大盘分析:光伏板块震荡走高,钧达股份涨停

光伏板块24日盘中震动走高,到发稿,时创动力大涨超16%,钧达股份涨停,昱能科技涨超8%,阿特斯、晶澳科技、阳光电源等涨超5%,隆基绿能涨近4%。 东研山私募证券投资(百度搜索冠达管理)基金管理有限公…

用心维护好电脑,提高学习工作效率

无论是学习还是工作,电脑都是IT人必不可少的重要武器,一台好电脑除了自身配置要经得起考验,后期主人对它的维护也是决定它寿命的重要因素! 一、我的电脑 系统制造商: ASUSTeK COMPUTER INC. 系统型号: ZenBook UX481FAY 1.1 如…

Docker创建Consul并添加权限控制

一、部署Consul 1、拉取镜像&#xff1a; docker pull consul:<consul-version> 2、运行 docker run --name consul1 -p 8300:8300/tcp -p 8301:8301/tcp -p 8301:8301/udp -p 8302:8302/tcp -p 8302:8302/udp -p 8500:8500 -p 8600:8600/tcp -p 8600:8600/udp -v /h…

Mybatis引入与使用

一、新建项目 使用IDEA&#xff0c;新建项目 注意&#xff1a;这里创建的是Maven项目 二、数据准备 因为Mybatis是操作数据库的框架&#xff0c;需要操作数据库&#xff0c;这里我们选用Mysql数据库&#xff0c;使用数据库脚本初始化一下数据。 -- 如果数据库不存在则创建数…

8.23笔记(手写),deeplabV2与V3

空洞卷积(Dilated convolution)如下图所示&#xff0c;其中 r 表示两列之间的距离(r1就是常规卷积了)。 池化可以扩大感受野&#xff0c;降低数据维度&#xff0c;减少计算量&#xff0c;但是会损失信息&#xff0c;对于语义分割来说&#xff0c;这造成了发展瓶颈。 空洞卷积可…

Python实战之如何用Python创建并训练自己的聊天机器人详解

你是否想过拥有一个自己的聊天机器人&#xff0c;让它陪伴你聊天、解答问题&#xff1f;Python可以帮助你实现&#xff01;在本文中&#xff0c;我们将介绍如何使用Python创建自己的聊天机器人。 第一步&#xff1a;安装必要的库 在使用Python创建聊天机器人之前&#xff0c;你…

python按日期生成文件夹并保存图片

背景说明&#xff1a; 在做一个瑕疵检测项目的时候&#xff0c;模型需要实时处理摄像头获取的图像进行处理&#xff0c;然后进行OK和NG判别&#xff0c;对于判别的结果要分别保存在不同的文件夹中&#xff0c;同时需要保证图片具有可区分性 。 分析&#xff1a; 考虑使用pat…

谈谈智能交通的概念

目录 1.什么是智能交通 2.智能交通的应用场景 1.智能公交车 2.共享单车 3.汽车联网 4.智慧停车 1.什么是智能交通 智能交通是指运用信息技术和通信技术等现代技术手段&#xff0c;对交通运输系统进行智能化的管理和优化&#xff0c;以提高交通效率、安全性和环境友好性的一…

上门服务系统|上门服务小程序如何提升生活质量?

上门服务其实就是本地生活服务的升级&#xff0c;上门服务包含很多行业可以做的。例如&#xff1a;厨师上门、上门家电维修、跑腿等等。如今各类本地化生活服务越来越受大家的喜爱。基于此市场愿景&#xff0c;我们来谈谈上门服务系统功能。 一、上门服务系统功能 1、预约服务…

eCharts热力图Y轴左上角少一块

问题&#xff1a; 如图 在图例的左上角 Y轴会少一块 官方demo https://echarts.apache.org/examples/zh/editor.html?cheatmap-cartesian 事实上 把官方demo的左上角坐标 [ 6, 0, 1 ] 修改为 [ 6, 0, 0 ] 后 依旧会出现该问题 查遍文档 并无解释 也没有任何配置项可解决…

shell 06(shell内置命令)

一、内置命令介绍 shell 内置命令&#xff0c;就是由 Bash shell 自身提供的命令&#xff0c;而不是文件系统中的可执行文件 使用type 来确定一个命令是否是内置命令: type 命令 通常来说&#xff0c;内置命令会比外部命令执行得更快: 执行外部命令时不但会触发磁盘 I/0&am…

vue中form、table和input标签过长

form标签过长 效果&#xff1a; 代码&#xff1a; <el-form-item v-for"(item,index) in ticketEditTable1" :label"item.fieldNameCn" :propitem.fieldName :key"item.fieldNameCn" overflow"":rules"form[item.fieldName…

组队buff,citywalk,同学走起

本文关键词 组队、旅游、打比赛、动心 南京、成都、西安、北京、烟火气 梧桐杯、大数据、创新、得行 ...... 这里是第三届中国移动“梧桐杯”大数据创新大赛&#xff0c; 只接受在校大学生报名。 这里是五阶赛程三阶有奖的比赛&#xff0c; 百万奖金池&#xff0c;下饺子…

神通数据库v7.0试用版安装步骤

网上找了下神通数据库的安装教程&#xff0c;发现都已经过时&#xff0c;或者安装受阻&#xff0c;于是直接从官网下载后尝试亲自安装了一遍适用版&#xff0c;在CentOS7(64bit)环境具体操作步骤如下&#xff1a; 1、安装 wget工具 yum install -y wget 2、安装rar解压工具 …

ChatGPT多开分销版系统,完整版手把手详细教程,保姆级教程

教程方法在文末&#xff5e; 课程目录 一、课前准备 1.认识系统.mp4 2.获取本次应用的三种渠道.mp4 二、微信服务号的申请&#xff08;有就直接跳过&#xff09; 03.流程详解.mp4 04.服务号的注册.mp4 05.认证流程.mp4 06.微信支付申请与关联.mp4 三、对接千梦众筹系统…

flutter 雷达图

通过CustomPainter自定义雷达图 效果如下 主要代码 import package:flutter/material.dart; import dart:math; import dash_painter.dart; import model/charts_model.dart;class RadarChart extends StatelessWidget {final List<ChartModel> list;final double maxV…

微短剧赛道风口下的一站式点播解决方案

微短剧行业正风生水起。 一种全新的剧集模式正迅速崛起&#xff0c;并引起广泛关注。 从线下电影院的“巨幕”到PC端“网络大电影”&#xff0c;从“长视频”再到如今移动端1-3分钟的“微短剧”&#xff0c;影视行业在过去几年经历了一场深刻又显著的变化。 微短剧&#xff0…

【2023中国算力大会】《关于促进全国一体化算力网络国家枢纽节点宁夏枢纽建设若干政策的意见》解读

为加快人工智能的发展&#xff0c;丰富算力基础设施&#xff0c;推进算力赋能应用&#xff0c;强化绿电保障支持&#xff0c;构建算力产业体系&#xff0c;打造西部地区算力经济发展新高地。 对数据中心重大基础设施建设&#xff0c;每年安排专项债券资金给予支持&#xff0c;…

硬盘格式化恢复?仅仅4招,简单恢复数据!

“硬盘格式化之后还有恢复的可能性吗&#xff1f;不小心格式化硬盘之后真的超级后悔&#xff0c;现在想恢复里面的数据完全不知道应该怎么做&#xff01;真的很绝望&#xff01;帮帮我吧&#xff01; 硬盘作为计算机的主要存储设备&#xff0c;存储着大量的个人和工作数据。然而…