ubuntu系统中/etc/rc.local和/etc/init.d/rc.local的区别详解

发布时间 - 2026-01-11 02:41:41    点击率:

前言

我们在ubuntu下要把一个程序加入开机启动,一般可以通过修改rc.local来完成,但ubuntu下有两个rc.local文件。分别是/etc/rc.local和/etc/init.d/rc.local。可以看一下两个文件的内容找到他俩的关系:

/etc/init.d/rc.local

#! /bin/sh
### BEGIN INIT INFO
# Provides:  rc.local
# Required-Start: $all
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: Run /etc/rc.local if it exist
### END INIT INFO


PATH=/sbin:/usr/sbin:/bin:/usr/bin

. /lib/init/vars.sh
. /lib/lsb/init-functions

do_start() {
 if [ -x /etc/rc.local ]; then
  [ "$VERBOSE" != no ] && log_begin_msg "Running local boot scripts (/etc/rc.local)"
 /etc/rc.local
 ES=$?
 [ "$VERBOSE" != no ] && log_end_msg $ES
 return $ES
 fi
}

case "$1" in
 start)
 do_start
 ;;
 restart|reload|force-reload)
 echo "Error: argument '$1' not supported" >&2
 exit 3
 ;;
 stop)
 ;;
 *)
 echo "Usage: $0 start|stop" >&2
 exit 3
 ;;
esac

从注释可以看出该脚本运行在2 3 4 5的启动级别,只能处理start的参数,然后执行start,如果有/etc/rc.local文件的话则执行/etc/rc.local。如果要把开机启动的程序放/etc/init.d/rc.local文件里,记住千万别一股脑写文件最后面就行了,因为在case语句块里脚本就会退出。

/etc/rc.local

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

exit 0

这个脚本里面基本没有内容,就是写个模板让你放开机自启动程序的。把你的程序写在exit 0行的前面就行了。

所以要添加开机启动项,只需在/etc/rc.local文件中添加就行了。

ubuntu的启动级别:

  0   关机

  1   单用户

  2-5  多用户图形界面

  6   重启 

对应每个启动级别,/etc/目录下都对应一个像/etc/rc5.d/这样的目录,下面是一些脚本,这些脚本基本都是对应/etc/init.d/目录下的软链接,命名里面的数字代表优先级,启动时这些脚本都会执行一遍。

备注:我的系统为ubuntu 15.04

总结

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# ubuntu  # etc  # rc.local  # init.d  # Ubuntu中卸载Postgresql出错的解决方法  # Ubuntu“无法打开锁文件(Could not get lock)”问题解决方法  # ubuntu下apt-get安装和彻底卸载mysql详解  # ubuntu系统下C++调用matlab程序的方法详解  # Ubuntu安装PHP和PHP Nginx配置方法  # Ubuntu彻底卸载MySQL、Apache2和Php的方法教程  # Ubuntu cron日志开启与查看的实现步骤  # 要把  # 就行了  # 都是  # 就会  # 让你  # 好了  # 目录下  # 只需  # 一遍  # 可以通过  # 可以看出  # 千万别  # 这篇文章  # 看一下  # 谢谢大家  # 重启  # 写在  # 来完成  # 多用户  # 启动时 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: SQL查询语句优化的实用方法总结  如何打造高效商业网站?建站目的决定转化率  如何解决hover在ie6中的兼容性问题  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  黑客如何利用漏洞与弱口令入侵网站服务器?  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知  linux top下的 minerd 木马清除方法  iOS UIView常见属性方法小结  Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  JS去除重复并统计数量的实现方法  js代码实现下拉菜单【推荐】  JavaScript常见的五种数组去重的方式  WordPress 子目录安装中正确处理脚本路径的完整指南  如何用PHP快速搭建高效网站?分步指南  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  高防服务器租用首荐平台,企业级优惠套餐快速部署  如何注册花生壳免费域名并搭建个人网站?  Laravel如何使用Sanctum进行API认证?(SPA实战)  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  韩国服务器如何优化跨境访问实现高效连接?  Laravel如何与Inertia.js和Vue/React构建现代单页应用  如何利用DOS批处理实现定时关机操作详解  如何在香港免费服务器上快速搭建网站?  Java垃圾回收器的方法和原理总结  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  如何基于云服务器快速搭建个人网站?  音乐网站服务器如何优化API响应速度?  如何快速搭建高效简练网站?  用yum安装MySQLdb模块的步骤方法  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  ChatGPT 4.0官网入口地址 ChatGPT在线体验官网  linux写shell需要注意的问题(必看)  魔毅自助建站系统:模板定制与SEO优化一键生成指南  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  html如何与html链接_实现多个HTML页面互相链接【互相】  使用C语言编写圣诞表白程序  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  清除minerd进程的简单方法  开心动漫网站制作软件下载,十分开心动画为何停播?  新三国志曹操传主线渭水交兵攻略