centos7重启后/etc/rc.local中的脚本没有执行

news2024/11/24 3:17:18

前阵子自己安装了WMware16、centos7,配置好jdk、mysql、nginx、redis并设置好开机自动启动后,打算将服务也做成自启动,因为之前做过本以为会很顺利,结果整了快两小时,觉得有必要记录下。

之前自己记录的博客:centos7开机运行java的sh脚本_centos7执行sh文件_lanren312的博客-CSDN博客

配置好后重启虚拟机发现运行java的脚本没运行成功,排查开始......

先上配置文件

1、有提示 : chmod +x /etc/rc.d/rc.local

执行后可以看到有了运行权限

 再次重启虚拟机发现运行java的脚本没运行成功......

2、修改 /usr/lib/systemd/system/rc-local.service

rc-local 服务文件中没有 Install 字段的相关信息,如果不写系统就不认为它是一个 systemd 服务。

[Install]

WantedBy=multi-user.target

 再次启动,然并卵......

3、启动rc-local服务,并加入开机启动

 什么也不想说了......

4、仔细分析

回头看 cat /etc/rc.local 里面的文件,touch /var/lock/subsys/local,再去看这个文件是实时创建的,说明 /etc/rc.local 是开机启动了的,那就是自己的运行脚本有问题了,立马醒悟,去看了下服务的启动日志,提示  nohup: 无法运行命令"java": 没有那个文件或目录

nohup java -jar /data/xxxx/xxxx.jar >/data/xxxx/xxxx.log 2>&1 &

直接运行脚本时没有问题的,但是开机启动咋就不行了,无法识别java命令,那就填写全路径

[root@localhost /]# echo $JAVA_HOME
/data/lanren312/jdk1.8.0_191
nohup /data/lanren312/jdk1.8.0_191/bin/java -jar /data/xxxx/xxxx.jar >/data/xxxx/xxxx.log 2>&1 &

再次重启虚拟机,服务自启动了.....

5、疑惑

1、如果在 /etc/rc.local中配置jdk环境,运行脚本是否就不需要写全路径了,这个没有尝试,但感觉应该是可行的。

 2、将服务启动脚本做成服务,有待尝试

vi /etc/systemd/system/lanren312.service
 
######## 写入内容
[Unit]
Description=lanren312-server
After=network.target
 
[Service]
Type=forking
ExecStart=/data/xxxx/start.sh
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target

systemctl start lanren312.service   ## 启动lanren312服务
systemctl stop lanren312.service    ## 停止lanren312服务
systemctl restart lanren312.service ## 重启lanren312服务
systemctl status lanren312.service  ## 查看lanren312服务当前状态
 
systemctl enable lanren312.service  ## 设置lanren312服务开机自启动
systemctl disable lanren312.service ## 停止lanren312服务开机自启动

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

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

相关文章

Faster RCNN系列5——RoI Pooling与全连接层

Faster RCNN系列: Faster RCNN系列1——Anchor生成过程 Faster RCNN系列2——RPN的真值与预测值概述 Faster RCNN系列3——RPN的真值详解与损失值计算 Faster RCNN系列4——生成Proposal与RoI Faster RCNN系列5——RoI Pooling与全连接层 在RPN网络中,已…

融云出海赋能会干货回顾(二)| 地区、赛道选择和避坑攻略

“出海是这个时代给我们的机遇。”这是很多互联网出海人的心声。关注【融云全球互联网通信云】了解更多 走过跌宕起伏的 15 年出海历程,中国出海人现在面对与此前截然不同的市场环境,很多地区蓝海不再,也有不少赛道变得拥挤。 一体两面&…

交友项目【动态点赞动态喜欢】

目录 1:点赞 1.1:动态点赞 1.1.1:分析&实现 1.2:取消点赞 1.2.1:分析&实现 2:喜欢 2.1:动态喜欢 2.1.1:分析&实现 2.2:取消喜欢 2.2.2&#xff1a…

学成在线笔记+踩坑(5)——【媒资模块】上传视频,断点续传

目录 5 上传视频 5.1 媒资管理页面上传视频流程预览 5.2 断点续传技术 5.2.1 什么是断点续传 5.2.2 测试分块与合并,RandomAccessFile随机流 5.2.3 视频上传流程 5.2.4 测试minio合并文件 5.3 接口定义,检查文件/分块、上传分块、合并分块 5.4…

4年外包终上岸,我只能说这类公司能不去就不去

我大学学的是计算机专业,毕业的时候,对于找工作比较迷茫,也不知道当时怎么想的,一头就扎进了一家外包公司,一干就是4年。现在终于跳槽到了互联网公司了,我想说的是,但凡有点机会,千万…

类图(类之间的关系)

一.概述 类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。类图不显示暂时性的信息。类图是面向对象建模的主要组成部分。在软件工程中,类图是一种静态的结构图,描述了系统的类的集合…

基于Powell共轭方向法的UWB室内定位构型优化算法

基于Powell共轭方向法的UWB室内定位构型优化算法 阚昊宇 摘要: UWB室内定位系统的服务性能及定位精度很大程度上受UWB基站构型影响,而GDOP是衡量系统定位服务性能的重要指标。目前关于UWB室内定位基站构型的讨论主要集中于最小化限定基站数目下GDOP在自…

【系统集成项目管理工程师】项目资源管理

💥十大知识领域:项目资源管理 项目资源管理包括以下 4 个过程: 编制项目人力资源计划组建项目团队建设项目团队管理项目团队 一、编制项目人力资源计划 确定与识别项目中的角色、所需技能、分配项目职责和汇报关系,并记录下来形成书面文件&am…

CDN如何阻止网络攻击

随着网络技术的发展,网络攻击事件也越来越多,对企业和个人的安全和稳定造成严重威胁。为此,高防CDN应运而生,成为广大用户保障网络安全的重要工具。什么是高防CDN?高防CDN的特点有哪些?高防CDN如何阻止网络攻击?接下来让我们一…

【云原生|Docker】14-Dokcer Harbor高可用部署

【云原生Docker】14-Dokcer Harbor高可用部署 文章目录 【云原生Docker】14-Dokcer Harbor高可用部署前言Harbor高可用方案单主复制双主复制多Harbor共享后端存储 Harbor高可用部署方案说明环境说明部署步骤安装nfs安装redis和PostgreSQL安装harbor配置nginx访问测试 总结 前言…

netty源码学习之-HashedWheelTimer

netty源码学习之-HashedWheelTimer 概述使用相关概念解析时间轮 运行时序图 源码workerHashedWheelTimeoutHashedWheelBucket 概述 该部分源码是netty的时间轮,netty的时间轮是单轮,其他时间轮是多轮设计,今天先了解下netty的时间轮设计 使用…

hot100:数组——49、53、55

49. 字母异位词分组 用hashmap存储&#xff0c;其中每个key&#xff0c;用这组异位词的排序后的字符串&#xff1b;value是这组异位词。比如“tea”和“ate”是一组异位词&#xff0c;他们的排序结果都是“aet”。 public List<List<String>> groupAnagrams(Stri…

交流电中的无功功率和有功功率,减少无功功率

有功&#xff0c;无功功率 从字面上理解就是做功和不做功的功率。不做功的是因为负载电路中有电感和电容的存在。 电容和电感的电压电流关系 设加在两端的电压都是 U U m a x s i n w t UU_{max}sinwt UUmax​sinwt 电容和电感两端电压电流的关系 电容两端的电压电流关系…

Javaee Spring基于XML的AOP开发

快速入门 1. 导入 AOP 相关坐标 2. 创建目标接口和目标类&#xff08;内部有切点&#xff09; 3. 创建切面类&#xff08;内部有增强方法&#xff09; 4. 将目标类和切面类的对象创建权交给 spring 5. 在 applicationContext.xml 中配置织入关系 6. 测试代码 项目…

【数据库】MySQL数据约束和表关系详解

目录 1.数据库约束 1.1约束类型 1.2NULL约束 1.3UNIQUE&#xff1a;唯一约束 1.4DEFAULT&#xff1a;默认值约束 1.5PRIMARY&#xff1a;主键约束 1.6FOREIGH KEY:外键约束 2.表的关系 2.1一对一 2.2一对多 2.3多对多 1.数据库约束 数据库中的数据保存在数据表中&am…

数据库基础篇 《9. 子查询》

目录 1. 需求分析与问题解决 1.1 实际问题 1.2 子查询的基本使用 ​编辑1.3 子查询的分类 分类方式1&#xff1a;我们按内查询的结果返回一条还是多条记录&#xff0c;将子查询分为 单行子查询 、 多行子查询 。 分类方式2&#xff1a; 我们按内查询是否被执行多次&#x…

4WE10D50型力士乐液压阀规格

安装位置 可选择&#xff0c;方向阀最好水平安装&#xff01;对于阀品种&#xff0c;如 &#xff0d; 不带阀芯对中弹簧 &#xff0d; 或带下垂电磁铁 其他安装位置能够导致功能失常或违反有关的技朮规定。 带泄油口的压力开关的安装位置必须选择&#xff0c;使它的泄油口…

Redis源码分析之网络模型

Redis网络模型 阅读源码的初衷Redis源码阅读 阅读源码的初衷 很多网上解释这个Redis为啥这么块&#xff1f;都会说Redis这么快的原因会有一个Redis才用了单线程&使用了多路io复用来检查io事件&#xff0c;单线程可以避免多线程对资源的竞争。如果我们使用了多线程那么就需…

Revit中栏杆扶手、坡道的绘制及插件太多问题

一、在Revit中栏杆与扶手的绘制方法有两种&#xff1a; ①绘制路径 ②放置在主体上 二、执行方式 功能区&#xff1a;“建筑”选项卡“楼梯坡道”面板“栏杆扶手”下拉菜单“绘制路径”。 三、绘制技巧 首先我们一起来看看如何设置栏杆扶手属性。 第一步&#xff1a;设置属…

【vue3学习系列】对比vue2生命周期做了哪些改变,vue3初学者快来看看

文章目录 前言官方生命周期图分析去除beforeCreate与createdsetup代替created其他钩子只是改了名称 剔除vue2后的生命周期图其他钩子函数keepalive错误捕获其他的一些钩子去官方文档看看即可 前言 看了下官方的生命周期的说明&#xff0c;感觉讲的不算太清晰&#xff0c;所以个…