当前位置: 首页 > news >正文

Linux中实现开机自启动的几种常见方式及区别详解

这是传统的SysVinit系统中的自启动脚本。在系统启动到指定运行级别时会执行这个文件中的命令。在使用systemd的系统中为了兼容性通常有一个rc-local.service来运行/etc/rc.local。但需要确保该服务被启用。使用rc.local比较简单只需将需要开机自启动的命令写入该文件即可。但注意该文件默认可能没有执行权限需要确保其有执行权限。具体操作方式1. 创建或编辑rc.local文件1sudovim/etc/rc.local2. 添加内容写入自启动脚本12345678#!/bin/bashsudo-u pharmacy/home/services/rcs/start_rcs.sh sudo-u pharmacy/home/abc.sh sudo-u pharmacy/home/edf.sh # 添加日志以便调试echo$(date): rc.local executed successfully/var/log/rc-local.logexit03. 给文件添加执行权限1sudochmodx/etc/rc.local4. 启用rc-local服务如果尚未启用启用rc-local服务、1sudosystemctlenablerc-local启动服务1sudosystemctl start rc-local在这里如果提示如下,说明rc-local没有被systemctl管理到那么需要新增service配置12345678910111213The unit files have no installation config (WantedBy, RequiredBy, Also,Alias settingsinthe [Install] section, and DefaultInstancefortemplateunits). This means they are not meant to be enabled using systemctl.Possible reasonsforhaving this kind ofunitsare:• A unit may be statically enabled by being symlinked from another units.wants/ or .requires/ directory.• A units purpose may be to act as a helperforsome other unitwhichhasa requirement dependency on it.• A unit may be started when needed via activation (socket, path, timer,D-Bus, udev, scripted systemctl call, ...).• Incaseof templateunits, the unit is meant to be enabled with someinstance name specified.5.新增service 配置123456789101112131415sudo tee /etc/systemd/system/rc-local.service /dev/null EOF[Unit]Description/etc/rc.local CompatibilityConditionFileIsExecutable/etc/rc.localAfternetwork.target[Service]TypeforkingExecStart/etc/rc.local startTimeoutSec0RemainAfterExityes[Install]WantedBymulti-user.targetEOF6. 重新加载 systemd 并启用服务1234sudosystemctl daemon-reloadsudosystemctlenablerc-local.servicesudosystemctl start rc-local.servicesudosystemctl status rc-local.service7. 验证rc-local服务是否启用1sudosystemctl status rc-local.service如果服务状态显示为active 则表示服务已经运行下方会显示脚本的执行打印日志和时间/etc/init.d/SysVinit脚本在SysVinit系统中每个运行级别都有对应的目录如/etc/rc0.d/etc/rc6.d这些目录中的符号链接指向/etc/init.d/中的脚本。可以通过update-rc.d在Debian/Ubuntu中或chkconfig在RedHat/CentOS中来管理这些链接从而控制服务在哪个运行级别启动或停止。这种方式较为传统现在逐渐被systemd取代。systemd现代大多数Linux发行版使用systemd作为初始化系统。用户可以通过创建自定义的service单元文件通常放在/etc/systemd/system/目录下来管理自启动服务。使用systemctl enable service_name来启用自启动使用systemctl start service_name来立即启动服务。systemd提供了更强大的功能如依赖管理、条件启动、资源控制等。使用方式下方例子是启动指定脚本然后在脚本中执行程序启动不监视程序是否停止运行且不会重启目标只是为了实现简单的自动启动。另外修改service内容可以支持自启动和崩溃重启。rcs.service 文件内容只做开启自启动不做程序退出检测和退出后的后的自启动
http://www.zskr.cn/news/1389981.html

相关文章:

  • SchoolCMS:如何用开源系统彻底解决中小学校教务管理难题
  • ROS 2自主移动机器人(AMR)数据通信与共享(2)
  • 从新手到专家:BilibiliHistoryFetcher日志监控与邮件告警配置
  • iniparser与C++集成:如何在C++项目中安全使用C语言INI解析库
  • Python驱动CFD革命:5步掌握PyFluent的终极指南
  • 大模型自主智能体记忆与反思机制设计如何落地企业?一篇深度解构与提效实战
  • 韶山市贵金属全品类回收同城靠谱回收门店权威:黄金+白银+铂金+钯金当场检测当面结算及联系方式推荐 - 亦辰小黄鸭
  • 使用Qwen3-Coder-30B-A3B-Instruct-FP8进行企业级代码审查与重构:提升代码质量的终极指南
  • DDrawCompat完整指南:让经典DirectDraw游戏在现代Windows上完美运行的免费兼容层
  • 【创新未发表】离散开停机制氨调度与多场景全年评估研究(Matlab代码、Python、数据、word论文)
  • ModEngine2配置文件详解:TOML配置系统的高级用法指南
  • LTC1668IG#PBF 、16位/50MSPS高性能差分电流输出数模转换器
  • 从零开始写小说:novelWriter如何让你专注创作不被打扰?
  • 无锡萧邦定期专业保养哪家强?快乐钻石灵动卡顿、L.U.C系列机芯油泥干涸怎么救?带你走进恒隆广场授权网点,体验从外观翻新到机芯深度注油的透明化全流程服务 - 亨得利官方维修中心
  • 2026发膜口碑榜:年度用户最爱发膜TOP10 - 速递信息
  • Agent赋能智能运维:如何实现AI自动监控服务器并触发故障工单的闭环架构?
  • 数字记忆守护者:如何用WeChatExporter永久保存你的微信聊天时光
  • SDXL模型架构解析:深入理解PyTorch-NPU实现细节 [特殊字符]
  • 私有化部署的AI智能体架构是怎样的?深度解析企业级AI Agent落地路径与避坑指南
  • 苏州黄金回收指南,福正美免费上门变现无忧 - 上门黄金回收
  • OpenSesame:从零到一构建心理学实验的完整指南
  • 终极GitHub加速方案:告别龟速下载,体验飞一般的高效开发
  • 618发膜预售清单:提前锁定发膜品牌的明星产品 - 速递信息
  • 市面上知名的剥壳机供应厂家推荐,麻籽剥壳机/元宝枫脱壳机/紫苏脱皮机/葵花籽剥壳机/黄豆去皮机,剥壳机制造商怎么选购 - 品牌推荐师
  • 杭州太空袋采购:看不见的成本账与长期保障逻辑(2026年5月最新) - GEO排行榜
  • 解剖一个桌面级 AI Copilot 的架构:Stargazer AI Copilot(.NET 10 + Avalonia)是怎么“分层”的
  • 哔咔漫画下载器完整指南:3步打造个人离线漫画库
  • SSD Keras可视化工具:特征图、检测结果与训练过程可视化
  • EXFAT文件系统DBR损坏的精准定位与手工重构
  • 2026年!北京云仓代发平台推荐榜单:智能仓配赋能高效履约 - 品牌评测官