linux开机启动配置文件

在Linux系统中,开机启动配置文件通常位于/etc/init.d目录下,并且是一个脚本文件,该脚本可以通过service命令或systemctl命令来启动、停止、重启服务。

1、创建一个服务脚本 /etc/init.d/ruoyi.sh

#!/bin/bashCURRENT_PATH=$(pwd)
JAR_NAME="ruoyi-admin"
APP_PORT=9002
APP_ENV=druidinit() {for name in `find . -name *.jar`doif [[ "${name##*.}"x = "jar"x ]]thenJAR_NAME=${name##*/}echo ${JAR_NAME}returnfidone
}usage() {echo "Usage: sh deploy.sh [start|stop|restart|status] port"exit 1
}status(){pid=`ps -ef|grep ${JAR_NAME}|grep -v grep|awk '{print $2}'`if [[ -z "${pid}" ]]; thenecho "${JAR_NAME} is not running"return 1elseecho "${JAR_NAME} is already running. pid=${pid}"return 0fi
}start(){echo "port ${APP_PORT}"statusif [[ $? -eq 1 ]]; thenecho "${JAR_NAME} is starting"nohup java -jar -Xms200m -Xmx200m -XX:+HeapDumpOnOutOfMemoryError ${JAR_NAME} --spring.profiles.active=${APP_ENV} --server.port=${APP_PORT} --shiro.session.expireTime=10080 --shiro.session.validationInterval=120 --ruoyi.addressEnabled=true --spring.datasource.druid.master.url=jdbc:mysql://localhost:3307/ruoyi?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai > run.log 2>&1 &fi
}stop(){
statusif [[ $? -eq "0" ]]; thenecho "${JAR_NAME} is stopping"#kill ==> kill -15#kill -9 强杀#cat pid | xargs killkill -15 ${pid}#等待一段时间sleep 8#强杀pid=`ps -ef|grep ${JAR_NAME}|grep -v grep|awk '{print $2}'`if [[ -z "${pid}" ]]; thenecho "${JAR_NAME} is closing"elsekill -9 ${pid}fifi
}restart(){stopsleep 3start
}initif [[ -z "$2" ]]; thenecho "no port param!"
elseAPP_PORT=$2
ficase "$1" in"start")start;;"stop")stop;;"status")status;;"restart")restart;;*)usage;;
esac

2、给脚本赋权限

sudo chmod +x /etc/init.d/ruoyi.sh

3、使用systemctl配置服务以开机启动

sudo systemctl enable ruoyi.sh

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

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

相关文章

企业开发基础-JDBC(SQL注入)

JDBC概论 1、JDBC是什么? Java DataBase Connectivity(Java语言连接数据库) 2、JDBC的本质是什么? JDBC是SUN公司制定的一套接口(interface) java.sql.*; (这个软件包下有很多接口。) 接…

[数据集][图像分类]杂草分类数据集17509张9类别

数据集格式:仅仅包含jpg图片,每个类别文件夹下面存放着对应图片 图片数量(jpg文件个数):17509 分类类别数:9 类别名称:["chineseapple","lantana","negatives","parkinsonia","part…

48-Qt控件详解:Buttons Containers2

一 Group Box:组合框 #include "widget.h"#include<QGroupBox> #include<QRadioButton> #include<QPushButton> #include<QVBoxLayout>//可以在水平方向和垂直方向进行排列的控件&#xff0c;QHBoxLayout/QVBoxLayout #include <QGridLa…

vue2 el-tree树形下拉框

由于element-vue2 中没有el-tree-select组件&#xff0c;所以树形下拉需要结合el-selet完成 <el-form-item label"上级部门&#xff1a;" prop"pidName"> <el-select ref"select" v-model"dialogForm.pidName" placeholder&…

Backend - 数据分析 Numpy

目录 一、作用 二、基础环境 &#xff08;一&#xff09;执行虚拟环境的终端命令 &#xff08;二&#xff09;代码中导包 三、数组操作 &#xff08;一&#xff09;创建数组 1. 创建一维数组 &#xff08;1&#xff09;基本建立 &#xff08;2&#xff09;建立后&…

扬州知识付费系统招聘,你知道在线教育平台推广有什么技巧?

在线教育的模式有各种各样&#xff0c;不管是哪种模式&#xff0c;在线教育的课程都有颠覆和创新性。互联网在线教育课程可以要大家在家就可以利用碎片化时间学习&#xff0c;那在线教育平台怎么推广呢&#xff1f; 1、与校园和企业合作 在线教育平台不仅能给校园的老师提供更好…

解决宝塔Nginx和phpMyAdmin配置端口冲突问题

问题描述 在对基于宝塔面板的 Nginx 配置文件进行端口修改时&#xff0c;我注意到 phpMyAdmin 的端口配置似乎也随之发生了变化&#xff01; 解决方法 官方建议在处理 Nginx 配置时&#xff0c;应避免直接修改默认的配置文件&#xff0c;以确保系统的稳定性和简化后续的维护…

大数据可视化实验三——数据可视化工具使用

目录 一、实验目的... 1 二、实验环境... 1 三、实验内容... 1 1. 下载并安装Tableau软件.. 1 2. 使用HTML5绘制Canvas图形.. 2 3. 使用HTML5编写SVG 图形... 5 4. 使用R 语言编写可视化实例.. 7 四、总结与心得体会... 7 五、思考问题... 8 一、实验目的 1&#xff…

C++-Linux工程管理

1 Makefile和CMake实践 1.1 Makefile 参考 简介&#xff1a; Makefile是一种用于自动化构建和管理程序的工具。它通常用于编译源代码、链接对象文件以生成可执行文件或库文件。Makefile以文本文件的形式存在&#xff0c;其中包含了一系列规则和指令&#xff0c;用于描述程序的…

python数据分析——seaborn绘图1

参考资料&#xff1a;活用pandas库 matplotlib库是python的和兴绘图工具&#xff0c;而seaborn基于matplotlib创建&#xff0c;它为绘制统计图提供了更高级的接口&#xff0c;使得只用少量代码就能生成更美观、更复杂的可视化效果。 seaborn库和pandas以及其他pydata库&#xf…

Go 阻塞

阻塞 在Go语言中&#xff0c;阻塞通常指的是一个goroutine&#xff08;轻量级线程&#xff09;在等待另一个goroutine完成操作&#xff08;如I/O操作、channel通信等&#xff09;时&#xff0c;暂时停止执行的现象。Go语言提供了多种同步和通信机制&#xff0c;可以用于实现阻…

数据赋能(86)——数据要素:管理核心框架

数据管理的核心框架是一个综合性的体系&#xff0c;旨在确保数据的有效利用、安全性以及合规性。这个框架主要包含了以下几个关键组成部分&#xff1a; 数据治理策略与目标&#xff1a;明确数据管理的整体战略和目标&#xff0c;包括数据价值的释放、数据资产地位的确定、多元…

OpenHarmony 实战开发——移植通信子系统

通信子系统目前涉及Wi-Fi和蓝牙适配&#xff0c;厂商应当根据芯片自身情况进行适配。 移植指导 Wi-Fi编译文件内容如下&#xff1a; 路径&#xff1a;“foundation/communication/wifi_lite/BUILD.gn” group("wifi") {deps [ "$ohos_board_adapter_dir/ha…

C++基础与深度解析 | 数组 | vector | string

文章目录 一、数组1.一维数组2.多维数组 二、vector三、string 一、数组 1.一维数组 在C中&#xff0c;数组用于存储具有相同类型和特定大小的元素集合。数组在内存中是连续存储的&#xff0c;并且支持通过索引快速访问元素。 数组的声明&#xff1a; 数组的声明指定了元素的…

前端人员如何理解进程和线程

进程和线程的概念&#xff1a; 进程和线程本质都是cpu工作过程的时间片。 进程可以理解为cpu在运行指令即加载保存上下文所要用的时间。也可以理解为一个应用程序运行的实例。 线程是进程中更小的单位&#xff0c;描述一段指令所需要的时间。 进程是资源分配的最小单位&#xf…

【数据结构】数组循环队列的实现

队列&#xff08;Queue&#xff09;是一种特殊的线性数据结构&#xff0c;它遵循FIFO&#xff08;First In First Out&#xff0c;先入先出&#xff09;的原则。队列只允许在表的前端&#xff08;front&#xff09;进行删除操作&#xff0c;而在表的后端&#xff08;rear&#…

MySQL中导出CSV格式数据 | Java处理CSV数据

1. 导出不带表头的CSV数据 SELECT dataid, recordfilename INTO OUTFILE /tmp/uk_callcenter_event3.csv FIELDS TERMINATED BY , LINES TERMINATED BY \n FROM table_name WHERE createtime > 2024-03-27 22:00:00 AND createtime < 2024-04-29 23:59:59 AND timehou…

使用selenium控制已经打开的浏览器,应该如何实现。

要使用Selenium控制一个已经打开的浏览器实例&#xff0c;你可以通过以下步骤实现&#xff0c;这里以Google Chrome浏览器为例&#xff1a; 步骤 1: 启动Chrome浏览器并启用远程调试 首先&#xff0c;你需要以远程调试模式启动Chrome浏览器。这可以通过在命令行中使用特定参数来…

python下载及安装

1、python下载地址&#xff1a; Python Releases for Windows | Python.orgThe official home of the Python Programming Languagehttps://www.python.org/downloads/windows/ 2、python安装 &#xff08;1&#xff09; 直接点击下载后的可执行文件.exe &#xff08;2&…

Spring Boot项目怎么集成Gitee登录

一、背景 现在的越来越多的项目&#xff0c;需要集成第三方系统进行登录。今天我们以Spring Boot项目集成Gitee为例&#xff0c;演示一下怎么使用Oauth2协议&#xff0c;集成第三方系统登录。 不了解oauth2的&#xff0c;可以看我之前的文章。Ouath2是怎么实现在第三方应用认…