关于在rc.local中放入Java程序无法开机自启的问题

springboot项目设置开机自启 1.编写脚本ServiceStart.sh【该脚本对存放对目录没有要求,比如我是存在/opt目录下的】 执行命令: vim ServiceStart.sh # !/bin/bash # program # test java open export JAVA_HOME=/opt/java/jdk1.8.0_231 export JRE=${JAVA_HOME}/jre export CLASSPATH=$JAVA_HOME/lib:$JRE/lib:. export PATH=$PATH:$JAVA_H 阅读详情

今天公司服务器因为断电重启发现了一个问题——所有部署了springboot打的jar包的服务器在重启后没有自动将服务启动起来。但是rc.local文件是有可执行权限的,而且单独执行该文件中的条目可以正常启动服务,那么问题会在哪里呢?

在jar启动脚本后面加上了重定向生成一个启动日志或者通过ps -ef|grep jar查进程看看:
1/usr/local/bin/tomcat/bin/startup.sh>>/tmp/startup.log
结果发现日志提示找不到环境变量JAVA_HOME,但是该环境变量我们明确是写进了/etc/profile中,重新source后再重启,发现服务依然没有启动,这是为什么呢?查看/etc/rc.local文件的描述信息:

#THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#It is highly advisable to create own systemd services or udev rules
#to run scripts during boot instead of using this file.

#In contrast to previous versions due to parallel execution during boot
#this script will NOT be run after all other services.

#Please note that you must run ‘chmod +x /etc/rc.d/rc.local’ to ensure
#that this script will be executed during boot.

发现该文件是在所有服务之前运行,所以/etc/profiles或bashrc里的环境变量这个时候根本没有执行,因此环境变量自然无法生效导致服务启动报错了,解决办法就是在/etc/rc.local中加入环境变量,如图:
在这里插入图片描述 脚本中对应的内容:
在这里插入图片描述

rc.local开机启动不生效的解决 阅读详情

相关推荐

深入解析“PROJ: proj_create_from_database: Cannot find proj.db”错误:从环境配置到打包实战

本文深入解析了“PROJ: proj_create_from_database: Cannot find proj.db”错误的根源与解决方案,涵盖环境配置、PyInstaller打包及跨平台兼容性处理。通过详细分析PROJ库路径问题及GDAL依赖关系,提供动态路径设置、资源文件打包等实战技巧,帮助开发者高效解决地理数据处理中的常见错误。

weixin_29074409的博客 444

rclocal添加java_rc.local添加tomcat服务启动命令,但是tomcat服务无法正常启动

遇到了一个特别坑的问题。本来想着在rc.local文件里添加tomcat启动命令,使tomcat开机自启。之前在其他服务器上直接这样操作是没问题的,但很幸运的是,现在忽然就不行了。开始排错:1.确定/etc/rc.d/rc.local拥有可执行权限,并且tomcat命令直接复制出来执行也是正常的.正常来说,这个正常就应该是正常的。无奈,进行下一步 2.那就查看系统启动日志message,执行cat...

weixin_34901388的博客 697

英飞凌TC3xx的GTM模块到底有多强?从PWM生成到电机驱动,一篇讲透车载定时器核心

本文深入解析英飞凌TC3xx系列中的GTM模块在汽车电子领域的强大功能,从PWM生成到电机驱动的全链路设计。通过模块化架构和硬件级解决方案,GTM显著提升系统精度和响应速度,适用于电机控制、电源管理等复杂场景。文章结合实战经验,详细拆解GTM的技术实现和性能优势。

weixin_27741699的博客 202

linux rc.local 开机自启动执行java程序

java 开机自启动 linux

u014760706的博客 999

芯片良率提升:从设计到制造的系统性工程实践

在半导体制造领域,良率是衡量生产效率和成本控制的核心指标,直接关系到芯片的经济效益与市场竞争力。其本质是合格芯片占总产出芯片的百分比,提升良率需要从设计源头到制造末端的全流程协同优化。从技术原理看,它涉及可制造性设计、工艺过程控制、缺陷检测与根因分析等多个复杂环节,尤其在先进制程下,随机缺陷和参数变异成为主要挑战。其技术价值不仅在于降低单颗芯片成本,更能加速产品上市、保障可靠性,并成为企业技术实力的关键体现。应用场景贯穿智能手机、数据中心、自动驾驶和人工智能等所有高端芯片领域。本文将结合【芯片制造】与【良率

weixin_42526068的博客 632

老服务器焕新记:在Dell R730上折腾Nvidia K80显卡的完整记录(含Anaconda环境配置)

本文详细记录了在Dell R730服务器上为Nvidia K80计算卡安装驱动、配置CUDA及Anaconda环境的完整过程。文章重点解决了老旧硬件与CentOS 7系统的兼容性问题,提供了从BIOS设置、驱动版本精准匹配到Python机器学习环境搭建的实战指南,旨在帮助读者低成本挖掘旧服务器的GPU计算潜力。

weixin_29197835的博客 502

rc.local读不到javac的问题

前段时间我想让Redhat在启动的时候把nacos一起开起来,但是一直失败。那么办法就是在执行需要Java环境变量的命令之前加上export JAVA_HOME=xxx即可。结果就是成功开启了rc-local.service,reboot之后也是成功执行的。结果呢都是有效的环境变量,它rc.local这个文件就是读取不到。日志显示缺少javac命令,也就是找不到Java的环境变量。问题是解决了,就是还不知道它为什么读不到环境变量。我不信邪,直接javac了一下,是有结果的。

zou_wen_tao的博客 296

vivado2020.1使用vitis生成QSPI启动文件报错

在使用vivado2020.1使用vitis,生成QSPI启动文件时会报错,data2mem命令无法识别,这是因为data2mem是xilinx7series芯片的命令,当使用ultrascale/ultrascale+芯片时则需要使用updatemem命令,这或许是vitis的一个bug吧,明明选择的是ultrascale的芯片,却一直调用打她mem命令,挺麻烦的,需要手动执行,在XSCT console窗口执行的命令如下: updatemem -force -meminfo \ F:/xc7z35t/x

qq_32134427的博客 2336

开启批量自启jar包程序 (springboot)(crontab 和 rc.local运行java程序注意环境变量)

开启批量自启jar包程序 脚本: #!/bin/sh #echo `date +%F-%T` > /test.txt export JAVA_HOME=/opt/Java/jdk1.8.0_65 export JRE_HOME=${JAVA_HOME}/jre #要加环境变量 并且让其生效!!! 原先是没有开头这几句的环境变量的。 source /etc/profile # 端口号 PORTS=(8848 9999 3000 4000 18001 18002 18003 18005 18007

Nightwish5的博客 1161

《MATLAB项目实战》,专栏目录和介绍

MATLAB 是一款强大且广泛应用的数值计算和数据可视化软件工具,它提供了一个高效、简洁的编程环境,使用户能够进行从简单的矩阵运算到复杂的多维数据分析的各种计算任务。无论是在人工智能、计算机视觉、图像处理还是其他领域,MATLAB 都能够提供精准、快速的解决方案,因此成为了全球科研人员、工程师以及数据分析师的得力工具。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 6473

Xiaojie雷达之路---手把手教你从串口获取雷达原始数据(一)---新建工程(开始)

Hello,大家好,我是Xiaojie,欢迎大家能够和Xiaojie来一起学习毫米波雷达知识,Xiaojie准备连载一个系列的文章---利用串口获取毫米波雷达中的原始数据,本系列文章将从新建工程到最后原始数据显示到PC上进行逐步介绍,这个系列的文章大约是一个4-5篇左右。本篇文章呢,主要讲的是如何新建一个毫米波雷达的工程。

XiaoJie的博客 5810

Linux开机自启终极指南:systemctl、rc.local、chkconfig全场景对比(附避坑技巧)

本文全面解析Linux系统中三种开机自启方法:systemctl、rc.local和chkconfig的适用场景与配置技巧。通过对比分析现代systemd服务管理、传统rc.local脚本及经典chkconfig工具,提供针对不同Linux发行版的最佳实践方案,并分享实际运维中的避坑指南,帮助管理员确保关键服务可靠启动。

onion的博客 1086

Transformers 实战修炼与源码剖析专栏大纲

本专栏以 Hugging Face Transformers 为主线,围绕“能用、会调、敢上线、懂源码”四个目标展开。内容不把理论堆成公式墙,而是用真实或拟真的业务场景驱动:客服分类、合同抽取、知识库问答、模型微调、推理服务、监控告警、源码扩展等。采用“业务痛点 → 三人剧本对话 → 代码实战 → 总结思考”的四段式结构,让读者在动手完成一个个小项目的过程中,逐步理解 Tokenizer、Model、Pipeline、Trainer、Generation、PEFT、Accelerate、Serving等概念

davidwang456的专栏 922

几种linux开机自启脚本的方法

所以他们可以指向同一个脚本文件,只是传递不同的参数,以产生不同执行结果。对于这种方式,笔者谈不上推荐或不推荐,因为在最新的linux发行版中,该文件已经默认不存在了,所以有很大概率在未来的某个版本开始,将彻底移除这个功能。总的来说,/etc/profile文件是用来配置系统范围的shell环境和行为的,可以对系统的整体行为进行一些设置和调整。中的脚本或命令,每次用户登录都会加载执行,所以如果某些提供服务的脚本放在此处,每次用户登录都会执行该脚本或命令。所以,如果能让脚本开机自启,还需要加执行权限。

u010230019的博客 7736

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

修改rc.local,配置redis/mongo/zookeeper/python开机自启失败的,看这一篇就搞定!

配置了一天Centos开机自启,最后终于成功了,网上的博客真的千篇一律,仿佛是互抄的,只是说要写rc.local,要改权限,但我试了依旧失败,如果你也是这样,试试我的这个博客! 一、配置Centos开机自启方法 这里我只是用了配置rc.local文件,其他写启动脚本的,我还不会,只会这个最简单的开机自启方法。所以把这个方法分享给大家。 二、rc.local文件在哪? 有的人在/etc/rc.d/r...

May女子の博客 1367

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Linux jar包脚本 test.sh 并设置开机自启

参考https://www.cnblogs.com/wangfajun/p/9585530.html 拉到最下面是 test.sh 脚本内容。 1. test.sh 脚本 中,vi命令编辑,将JAVA_HOME后的jdk路径替换成当前服务器的jdk路径 JAVA_HOME=/opt/java/jdk1.8.0_211 将APP_NAME后的jar...

test 8386

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Linux tomcat开机自启方案

Linux多个tomcat开机自启方案Linux下多个tomcat开机自动启动有两种方法,一种是修改系统文件,一种shell脚本实现一. 修改系统文件1.修改/etc/rc.d/rc.local2.在/etc/rc.d/rc.local文件最后添加下面脚本:3.修改rc.local文件为可执行4.验证二.shell脚本启动1.在/etc/init.d下新建文件tomcat(需要在root权限下操作)2,文件增加可执行权限3. 挂载4.设置脚本开机自启动5.验证6.扩展 Linux下多个tomcat开机自动启

lihongta的博客 2013

没有/etc/rc.d/rc.local最方便的设置开机自启的方法

最近换了一台VPS,重新折腾了一下ubuntu的开机自启,发现在ubuntu 16.04中/etc/rc.d/rc.local没有了,以往需要开机自启的东西我都是配置在这里的。没有该文件后的最方便的解决办法就是:cron。cron内置的@reboot指令可以在机器启动后运行,语法异常简单,有个坑就是cron的环境变量和主机是不一样的。编辑cron配置:# craontab -e下面是我的配置:@re

Bpazy的博客 1万+

Windows与Linux系统开机自启Nacos全攻略

本文介绍了Windows和Linux系统下配置Nacos开机自启的方法。Windows推荐使用WinSW服务化方案,通过配置nacos-service.xml文件并安装为系统服务;Linux推荐使用systemd服务方式,创建nacos.service文件并设置开机启动。两种方式都必须包含"-m standalone"参数以确保使用单机模式。配置完成后需重启测试,验证服务是否自动运行成功。文中提供了详细的配置步骤和注意事项,包括路径设置、环境变量要求等关键点。

2301_79395251的博客 1770

centos7 开机自启java程序

1.脚本文件路径(此为启动tomcat脚本文件 如启动jar文件则需单独书写sh脚本文件 原理相同) 2.编辑rc.local vi /etc/rc.d/rc.local 3.修改rc.local文件 在末尾加上一行需要执行的脚本文件即可 #!/bin/bash # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES # #...

qq_31986651的博客 1194

nohup启动jar_Linux开机启动文件rc.local设置 实例篇

在Linux 服务之管理应用篇中简要介绍了如何利用rc.local文件将应用程序设置开机启动。下面将具体举例进行说明。在Centos6.x和Centos7.x都可以利用设置rc.local文件进行应用程序的开机启动。但需要注意的有三点:一是在Centos7.x中通过rc.local文件设置开机启动的方式官方不建议使用,而是建议创建自己的systemd服务或udev规则。二是给rc.local文件赋...

weixin_39622562的博客 1533

ubuntu下 设置开机自启脚本,启动java程序,并且作为守护进程检测java程序的运行状态,如果应用进程被杀掉,自动重启

ubuntu下 设置开机自启脚本,启动java程序,并且作为守护进程检测java程序的运行状态,如果应用进程被杀掉,自动重启 java程序是jar包启动,读取jar包外部配置文件,需要先写一个外部的配置文件,然后再写一个java 程序启动脚本 外部配置文件 application.properties server.port=8001 spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterE

qq_36838406的博客, 微信交流 yrn1840 1752

linux 开机自启java项目

有一个定时项目跑在linux上,想实现linux开机自启 创建一个shell脚本 vim /home/publicService/start.sh # !/bin/bash # program # file preview server start export JAVA_HOME=/usr/local/java/jdk1.8.0_102 export JRE=$JAVA_HOME/jre export CLASSPATH=$JAVA_HOME/lib:$JRE/lib:. export PATH=$J

LZX的博客 1681

Liunx 部署文件 start.sh/stop.sh 及 jar开机自启

后台 * start.sh文件内容 #!/bin/sh nohup java -jar -Dspring.profiles.active=dev /home/run/app/app-rest.jar > nohup.out 2>&1 & * stop.sh文件内容 #!/bin/sh PID=$(ps -ef | grep app-rest.jar | gre...

Dawn____Dawn的博客 1721

crontab定时任务或/etc/rc.local开机自启不执行/没反应/不生效

折腾了一下午, 怎么都无法让crontab定时运行nodejs程序, 最后解决了, 记录一下排查的过程, 给大伙一个思路。

qq_46143878的博客 1327

Java 项目开机自动启动

1、创建自启脚本jar_auto.sh在/etc/rc.d/init.d目录下创建jar_auto.sh文件可使用vi命令或touch命令创建jar_auto.sh,文件名称可自定义2、创建好后编写自定义启动脚本内容3、为脚本文件赋予执行权限4、为jar脚本赋予开机自启权限编辑/etc/rc.d目录下的rc.local文件,将jar启动脚本加入该文件中即可5、赋予/etc/rc.d/rc.local文件执行权限将jar脚本文件目录添加到rc.local文件后,需要为文件重新赋予执行权限,执行。

qq_38222067的博客 2551
上一篇: docker装的oracle11.2镜像报12541监听无连接
下一篇: linux添加定时任务报错 error renaming Is a directory和rename: Operation not permitted
qq_34412985
博客等级 码龄11年 143粉丝 983原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值