linux系统中给java 应用配置开机自动启动

第一步需要一个控制java应用启动,停止,重启的脚本,脚本内容如下,我是springboot应用,其他的可以根据情况改写.

#!/bin/bashAPP_NAME=/data/oa/start-2.0.jar
#执行命令有误时,提示使用说明参数
usage() {echo "Usage: sh eureka.sh [start|stop|restart|status]"exit 1
}#检查程序是否已经在运行
is_exist(){pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `
if [ -z "${pid}" ]; thenreturn 1elsereturn 0fi
}#启动服务
start(){is_existif [ $? -eq "0" ]; thenecho "${APP_NAME} is already running. pid=${pid} ."elsecd /data/oanohup java -Xms128m -Xmx512m -Dloader.path=/data/oa/lib -jar /data/oa/start-2.0.jar --spring.config.local=/data/oa/application.yml > /data/oa/dwoa.log 2>&1 &fi
}#停止服务
stop(){is_existif [ $? -eq "0" ]; thenkill -9 $pidelseecho "${APP_NAME} is not running"fi
}#输出服务运行状态
status(){is_existif [ $? -eq "0" ]; thenecho "${APP_NAME} is running. Pid is ${pid}"elseecho "${APP_NAME} is NOT running."fi
}#重启服务
restart(){stopstart
}#根据输入参数,选择执行对应的方法,不输入则执行使用说明
case "$1" in"start")start;;"stop")stop;;"status")status;;"restart")restart;;*)usage;;
esac

将以上脚本随便命名一下,比如我这边命名为oa.sh,放到项目文件夹;

第二步,给这个文件可执行权限:chmod a+wrx -R oa.sh

第三步,将启动脚本注册为系统服务,这样就可以在开机时候自动启动了.

            1.cd /etc/systemd/system/
            2.nano oa.service  #创建一个名为oa的服务.
            3.输入以下配置,注意修改 ExecStart,ExecReload,ExecStop中的启动脚本的路径

[Unit]
Descrip    tion=hcoa Web Server
After=network.target[Service]
Type=forking
ExecStart=/data/oa/oa.sh start
ExecReload=/data/oa/oa.sh restart
ExecStop=/data/oa/oa.sh stop
PrivateTmp=true[Install]
WantedBy=multi-user.target

         4.保存并关闭文件(在nano中按Ctrl+X,然后按Y确认保存)。
         5.加载配置并将oa服务设置为enable启用状态(开机会自动启动该服务)
                 systemctl daemon-reload #重载系统服务配置
                 systemctl enable oa      #开机启动
         6.后面就可以直接使用服务方式启动oa服务了
                 service oa restart
                 service oa stop
                 service oa start

          7.注意配置中的,一下三项配置,要根据情况去修改。
                ExecStart=/data/oa/oa.sh start 代表启动命令
                ExecReload=/data/oa/oa.sh restart 代表重启命令
                ExecStop=/data/oa/oa.sh stop 代表停止命令

第四步,还是不会的话,可以私信联系我协助.

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

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

相关文章

DDD学习笔记五

模型引力场:聚合 强作用力体现: 某个领域模型是另一些模型存在的前提,没有前者,后者就失去了生存的意义。 一组领域模型之间存在关联的领域逻辑,任何时候都不能违反。 一组领域模型必须以一个完整的、一致的状态呈现给…

CSDN写文章时需要上、下标字号怎么输?

上标:​^^,符号中间加字 下标:~~,符号中间加字 前题是用MD编辑器,不然白搭: 我是感觉CSDN这个文本编辑比较拉,非常想吐槽。

dB分贝入门

主要参考资料: dB(分贝)定义及其应用: https://blog.csdn.net/u014162133/article/details/110388145 目录 dB的应用一、声音的大小二、信号强度三、增益 dB的应用 一、声音的大小 在日常生活中,住宅小区告知牌上面标示噪音要低…

vue2 element ui 表单 动态增加表单项 表单项值不可重复 select多选

案例 <template><el-form :model"form" ref"form" label-width"70px"><el-form-item><el-button icon"el-icon-plus" type"primary" plain click"add">新增</el-button><el-b…

VUE3-Elementplus-form表单-笔记

1. 结构相关 el-row表示一行&#xff0c;一行分成24份 el-col表示列 (1) :span"12" 代表在一行中&#xff0c;占12份 (50%) (2) :span"6" 表示在一行中&#xff0c;占6份 (25%) (3) :offset"3" 代表在一行中&#xff0c;左侧margin份数 el…

后劳动经济学(PLE):AI时代的工作未来

引言 随着人工智能&#xff08;AI&#xff09;和自动化技术的飞速发展&#xff0c;我们迎来了一个新的经济范式——后劳动经济学&#xff08;PLE&#xff09;。这一概念主要讨论在AI和自动化技术超越人类能力的关键领域后&#xff0c;机器将不可避免地在许多经济活动中取代人类…

如何玩单机版:QQ音速

前言 我是研究单机的老罗&#xff0c;今天教大家带来一款怀旧游戏QQ音速 的教程。根据我的文章&#xff0c;一步一步就可以玩了。 如今市面上的资源参差不齐&#xff0c;大部分的都不能运行&#xff0c;本人亲自测试&#xff0c;运行视频如下&#xff1a; QQ音速 搭建教程 此…

python之GIL锁详解

目录 1.GIL是什么以及影响 2.为什么会有GIL锁&#xff1f; 1.GIL是什么以及影响 在Python中&#xff0c;多线程的并发性受到全局解释器锁&#xff08;GIL&#xff0c;Global Interpreter Lock&#xff09;的影响。GIL是CPython&#xff08;Python的官方实现&#xff09;中的…

vscode下无法识别node、npm的问题

node : 无法将“node”项识别为 cmdlet、函数、脚本文件或可运行程序的名称 因为node是在cmd安装的&#xff0c;是全局安装的&#xff0c;并不是在这个项目里安装的。 解决方案&#xff1a; 1.在vscode的控制台&#xff0c;针对一个项目安装特定版本的node&#xff1b; 2.已经…

C++(Python)肥皂泡沫普拉托边界膜曲面模型算法

&#x1f3af;要点 &#x1f3af;肥皂泡二维流体模拟 | &#x1f3af;泡沫普拉托边界膜曲面模型算法演化厚度变化 | &#x1f3af;螺旋曲面三周期最小结构生成 &#x1f4dc;皂膜用例&#xff1a;Python计算物理粒子及拉格朗日和哈密顿动力学 | Python和MATLAB粘性力接触力动…

SAP系统中的应收账款(客户主数据,日常交易,催收,争议管理)

1. 客户主数据 Customer Accounts (客户账户&#xff09;:客户账户由两部分General Data&#xff08;通用数据&#xff09;和Company Code Data&#xff08;公司代码段数据&#xff09;组成。通用数据是在client级别独立于公司代码的数据&#xff0c;例如客户的地址&#xff0…

鸿蒙开发设备管理:【@ohos.multimodalInput.inputEventClient (注入按键)】

注入按键 InputEventClient模块提供了注入按键能力。 说明&#xff1a; 本模块首批接口从API version 8开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。本模块接口均为系统接口&#xff0c;三方应用不支持调用。 导入模块 import inputEventCli…

爱情再启:庄国栋笑谈“玫瑰人生”爱情觉悟

庄国栋&#xff0c;这位电视剧《玫瑰的故事》中的男主角&#xff0c; 最近在一次采访中坦言&#xff1a;“如果给我一次重来的机会&#xff0c; 我绝对会毫不犹豫地选择爱情&#xff01;” 听到这话&#xff0c; 我不禁想&#xff0c;庄先生&#xff0c;您是不是被剧里的玫瑰…

Solidworke学习(装配体3)

目录 本节学习内容&#xff1a; 一、高级配合 &#xff08;1&#xff09;对称配合 &#xff08;2&#xff09;宽度配合 &#xff08;3&#xff09;距离配合 二、机械配合 &#xff08;1&#xff09;凸轮配合 &#xff08;2&#xff09;槽口配合 三、快捷菜单 本节学习…

python工作目录与文件目录

工作目录 文件目录&#xff1a;文件所在的目录 工作目录&#xff1a;执行python命令所在的目录 D:. | main.py | ---data | data.txt | ---model | | model.py | | train.py | | __init__.py | | | ---nlp | | | bert.py | …

计算机网络期末复习(大题+小题)

计算机网络期末复习 一、计算机网络概述 Point 1 计算机网络就是以传输信息为基本目的&#xff0c;用通信线路和通信设备将多个计算机连接起来的计算机系统的集合。由自治的计算机互联起来的结合体。 Point 2 按网络的覆盖范围进行分类 &#xff08;1&#xff09;局域网*…

解锁Transformer的鲁棒性:深入分析与实践指南

&#x1f6e1;️ 解锁Transformer的鲁棒性&#xff1a;深入分析与实践指南 Transformer模型自从由Vaswani等人在2017年提出以来&#xff0c;已经成为自然语言处理&#xff08;NLP&#xff09;领域的明星模型。然而&#xff0c;模型的鲁棒性——即模型在面对异常、恶意或不寻常…

人机交互新维度|硕博电子发布双编码器操作面板、无线操作面板等新品

6月15日&#xff0c;硕博电子召开了一场新品发布会&#xff0c;向业界展示了多项前沿技术成果&#xff0c;其中备受瞩目的当属SPM-KEYP-D08双编码器操作面板、SPM-KEYP-D16W无线操作面板、SPR-HT-XK12A无线手持发射端以及SPQ-WT-B01洒水车专用控制面板。这些创新产品的亮相&…

文心一言 VS 讯飞星火 VS chatgpt (292)-- 算法导论21.3 5题

五、证明&#xff1a;任何具有 m 个 MAKE-SET、UNION 和 FIND-SET 操作的序列&#xff0c;这里所有的 LINK 操作都出现在 FIND-SET 操作之前&#xff0c;如果同时使用路径压缩和按秩合并启发式策略&#xff0c;则这些操作只需 O(m) 的时间。在同样情况下&#xff0c;如果只使用…

Class Constructors and Destructors (类的构造函数和析构函数)

Class Constructors and Destructors [类的构造函数和析构函数] 1. Declaring and Defining Constructors (声明和定义构造函数)2. Using Constructors (使用构造函数)3. Default Constructors (默认构造函数)4. Destructors (析构函数)5. Improving the Stock Class (改进 Sto…