Linux系统脚本开机自启动,开机自启动jar包vue前台等

news2024/11/23 7:21:08

脚本内容jiaobenname.sh

#!/bin/bash
# 设置环境变量
export JAVA_HOME=/usr/local/java/jdk-17.0.10
export CLASSPATH=.:$JAVA_HOME/lib/
export PATH=.:$JAVA_HOME/bin:$PATH


while true; do

    if ps aux | grep -v grep | grep "tomcat" > /dev/null; then
        echo "tomcat started..."
    else
        echo "tomcat is not running. Restarting..."
        nohup tomcat/bin/startup.sh > /dev/null 2>&1 &
    fi

    sleep 30
done

标红目录改成你的

执行命令

sudo vim /etc/systemd/system/ziqidong.service

i

加入

[Unit]
Description=Process Watchdog Service
After=network.target

[Service]
Type=simple
ExecStart=/nidemulu/jiaobenname.sh  
Restart=on-failure

[Install]
WantedBy=multi-user.target

标红目录改成你的

esc

:wq

记得给目录赋权

chmod -R 777 /nidemulu/

chmod -R 777 /etc/systemd/system/

加载 systemd 配置:

sudo systemctl daemon-reload

开机自启动:

sudo systemctl enable ziqidong.service

启动服务:

sudo systemctl start ziqidong.service


检查服务状态:

sudo systemctl status ziqidong.service

# 关闭后台服务

sudo systemctl stop ziqidong.service

# 重启服务
sudo systemctl restart ziqidong.service

我的脚本如下参考

#!/bin/bash
# 设置环境变量
export JAVA_HOME=/usr/local/java/jdk-17.0.10
export CLASSPATH=.:$JAVA_HOME/lib/
export PATH=.:$JAVA_HOME/bin:$PATH


RUOYI_PATH="/xx/ruoyi-admin.jar"

RUOYI_LOG_FILE="/xx/rouyimonitor.log"


while true; do

    if ps aux | grep -v grep | grep "redis-server" > /dev/null; then
        echo "redis-server started..."
    else
        echo "redis-server is not running. Restarting..."
        redis-server /xxx/redis.conf
    fi

    if ps aux | grep -v grep | grep "ruoyi-admin.jar" > /dev/null; then
        echo "ruoyi-admin.jar started. Check the log at $RUOYI_LOG_FILE"
    else
        echo "ruoyi-admin.jar is not running. Restarting..."
        nohup java --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/sun.net.util=ALL-UNNAMED -jar -Xms1024M -Xmx2048M -XX:MetaspaceSize=1024M -XX:MaxMetaspaceSize=2048M $RUOYI_PATH > $RUOYI_LOG_FILE 2>&1 &
    fi

    if ps aux | grep -v grep | grep "tomcat" > /dev/null; then
        echo "tomcat started..."
    else
        echo "tomcat is not running. Restarting..."
        nohup /xx/startup.sh > /dev/null 2>&1 &
    fi


    sleep 30
done

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

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

相关文章

Vue42-vc与vm的原型对象

一、普通函数与其对象的原型对象 显示原型属性,只有函数才有!!! 实例对象只有隐式原型属性。 普通函数与其对象,指向同一个原型对象!!! 这么写不推荐,建议直接如下格式&a…

C++初学者指南第一步---2. Hello world

C初学者指南第一步—2. Hello world 目录 C初学者指南第一步---2. Hello world1.源文件 “Hello.cpp”2.编译hello.cpp3.术语4.编译器标志5.不要使用 “using namespace std;” &#xff01; 1.源文件 “Hello.cpp” #include <iostream> // our first program int main…

3.多层感知机

目录 1.感知机训练感知机XOR问题&#xff08;Minsky&Papert 1969&#xff09; AI的第一个寒冬总结 2.多层感知机(MLP)学习XOR单隐藏层&#xff08;全连接层&#xff09;激活函数&#xff1a;Sigmoid激活函数&#xff1a;Tanh激活函数&#xff1a;ReLu 最常用的 因为计算速度…

LLM 学习之「向量数据库」

LLM 学习之「向量数据库」 什么是向量数据库&#xff1f; 向量数据库是一种以向量或数据点的数学表示形式存储数据的数据库。 人工智能和机器学习使非结构化数据能够转换为捕获意义和上下文的数字表示&#xff08;向量&#xff09;&#xff0c;这得益于自然语言处理和计算机视…

VSCode格式化插件-prettier

VSCode格式化插件 1.安装插件&#xff1a;prettier 2.设置默认格式化工具 设置中&#xff0c;搜索 “Default Formatter”。 在编辑器设置中&#xff0c;将默认格式化工具设为 Prettier。 3.启用格式化选项&#xff1a; 在设置中搜索 “Format On Save”&#xff0c;并勾选…

git回滚项目至指定版本

用过两种方式 1.使用git命令 进入到项目目录地址&#xff0c;使用git log查看提交版本信息 按q退出 若非对应分支&#xff0c;使用git checkout 分支名 切换分支 这里回退至上一个版本 git reset --hard 版本号 再次推送即可 这里需要使用-f命令 强行推送 2.在pycharm中…

12.容器间的互联(--link 是单方向的!!!)

容器间的互联&#xff08;–link 是单方向的&#xff01;&#xff01;&#xff01;&#xff09; –link意思就是链接容器进行通信 用法&#xff1a;--link 容器名字:随意设置别名&#xff1b;例如&#xff1a;--link nginx:nginx 注释&#xff1a;同一个容器中&#xff0c;可…

C#的Switch语句(在C#中如何根据结果执行不同的代码)

文章目录 基本语法示例 注意使用goto跳转其他标签 基本语法 switch语句是一种选择结构&#xff0c;用于基于某个表达式的值执行不同的代码块。它提供了一种更简洁、更易读的方式来处理多路分支逻辑&#xff0c;相比于多个嵌套的if…else if…else语句。下面是switch语句的基本…

C++语法07 程序中的除法和求余

程序中的除法 int / int int double / int double int / double double double / double double 规律总结 只要除号任意一边出现了double类型&#xff0c;结果就是double类型 只有除号两边都是int类型&#xff0c;结果才是int类型 这个规律也适用于加法减法和乘法 …

Mybatis框架中结果映射resultMap标签方法属性收录

Mybatis框架中结果映射resultMap标签收录 在MyBatis框架中&#xff0c;resultMap 是一种强大的机制&#xff0c;用于将数据库结果集映射到Java对象上。它允许你定义如何将查询结果中的列映射到Java对象的属性上&#xff0c;尤其是当数据库表的字段名与Java对象的属性名不一致时…

python全栈开发《07.数据类型之数字类型的应用、初识字符串类型》

目录 一、数字类型的简单应用二、初识字符串 1.什么是字符串2.字符串的内置函数与定义方法3.字符串的重要思想 三、python的内置函数id和len 一、数字类型的简单应用 对int与float的简单应用练习–初中生春游&#xff0c;主人公小编。 1.起因 小编学校组织春游&#xff0c;…

智能驾驶时代:车联网需要怎样的智能网络底座?

2024年&#xff0c;智能驾驶市场火热&#xff0c;无论是造车新势力还是老牌车企纷纷发力智能驾驶&#xff0c;他们深知&#xff0c;新能源汽车的下半场已到&#xff0c;再不发力智能驾驶&#xff0c;可能真的有些来不及了。车企不断加码单车智能的同时&#xff0c;政府也在稳步…

关于BERT和embedding

embedding到一个低维向量&#xff0c;但是需要回到onehot高维表示&#xff0c;所以大部分填词游戏最后都需要加上一个MLP接头。 word2vec如此简单的结构&#xff0c;学习到的是embedding 基于计数的统计方法和word2vec融合就形成了glove词嵌入模型 总结&#xff1a;通过各种…

FL Studio21.2.9最新中文永久激活码注册码

FL Studio21中文版本激活码注册码&#xff0c;这个好东西我真的要给大家种草一下&#xff01;&#x1f331; 让我来给大家介绍一下这款神奇的软件吧&#xff01;FL Studio21是一款非常专业的音乐制作软件&#xff0c;功能强大到让人惊叹&#xff01;&#x1f60d; 它可以帮助音…

AI预测福彩3D采取888=3策略+和值012路或胆码测试6月15日新模型预测第5弹

今天咱们继续验证新模型的8码定位3&#xff0c;目前新模型新算法8码定位经过4次测试&#xff0c;已命中3次&#xff0c;9码定位连续命中4次。咱们重点是预测8码定位3&#xff0b;和值012胆码。有些朋友看到我最近几篇文章没有给大家提供缩水后的预测详情&#xff0c;在这里解释…

使用docker构建自己的镜像并推送到远程镜像仓库

这里镜像仓库使用阿里云仓库&#xff0c;其他仓库可能类似&#xff0c;可以参考&#xff0c;个人实例可以免费使用。 背景 遇到的问题&#xff1a;需要定制一个自己的镜像&#xff0c;在上面安装一些环境&#xff0c;然后将镜像托管到公共镜像仓库&#xff0c;在其他地方使用…

什么是快乐?

什么是快乐&#xff1f; What is Happiness? 1. 快乐不是追求外在的物质&#xff0c;而是内心的平静与满足。当我们学会感恩&#xff0c;懂得珍惜眼前的一切&#xff0c;心中自然会充满喜悦。快乐并非来自拥有更多&#xff0c;而是感受到已经拥有的足够。每一天都怀抱感激之情…

04.VisionMaster 机器视觉找圆工具

VisionMaster 机器视觉找圆工具 定义 先检测出多个边缘点然后拟合成圆形&#xff0c;可用于圆的定位与测量 注意&#xff1a;找圆工具 最好和【位置修正】模块一起使用。具体可以看下面的示例。 参数说明&#xff1a; 扇环半径&#xff1a;圆环ROI的内外圆半径 边缘类型&a…

手把手教学部署前端项目到nginx

1.下载nginx 说明&#xff1a;下载11.20.2版本的nginx。 2.配置nginx 说明&#xff1a;找到conf目录下的nginx.conf文件。 2.1代理静态资源 说明&#xff1a;服务器块监听的端口为8089&#xff0c;意味着Nginx将在8089端口上接收和处理HTTP请求。root后面的值相当于html文…

socket收发数据的处理

1. TCP 协议是一种基于数据流的协议 Socket的Receive方法只是把接收缓冲区的数据提取出来,当系统的接收缓冲区为空,Receive方法会被阻塞,直到里面有数据。 Socket的Send方法只是把数据写入到发送缓冲区里,具体的发送过程由操作系统负责。当操作系统的发送缓冲区满了,Send方法会…