Linux:开机启动顺序启动顺序及配置开机启动

简介: Linux:开机启动顺序启动顺序及配置开机启动

开机启动顺序


1、加载内核
2、启动 init(/etc/inittab) pid=1
3、系统初始化 /etc/rc.d/rc.sysinit
4、运行开机启动 /etc/rc.d/rc*.d #软链指向 /etc/init.d/ 通过 chkconfig 命令配置
5、非系统服务启动项 /etc/rc.d/rc.local(就是 /etc/rc.local)
6、等待用户登录 /sbin/mingetty

自启动脚本


1、每个用户
/etc/profile(/etc/profile.d)登录时都执行 # 环境变量
/etc/bashrc  运行bash shell时执行此文件
2、特定用户
~/.bash_profile 登录时 ~/.profile(Debian) 
~/.bashrc       登录时以及每次打开新的 shell 时
~/.bash_logout  每次退出系统(退出bash shell)时,执行该文

参考

Linux 开机(脚本)启动顺序


Linux开机自动加载的几种方法


(1)编辑文件 /etc/rc.local


vim /etc/rc.local


#!/bin/sh
#This script will be executed after all the other init scripts.
#You can put your own initialization stuff in here if you don't
#want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
/etc/init.d/mysqld start #mysql开机启动
/etc/init.d/nginx start #nginx开机启动
/etc/init.d/php-fpm start #php-fpm开机启动
/etc/init.d/memcached start #memcache开机启动
#  在文件末尾(exit 0之前)加上你开机需要启动的程序或执行的命令即可
# (执行的程序需要写绝对路径,添加到系统环境变量的除外),如:
/usr/local/thttpd/sbin/thttpd -C /usr/local/thttpd/etc/thttpd.conf

(2)自己写一个shell脚本


将写好的脚本(.sh文件)放到目录 /etc/profile.d/ 下,

系统启动后就会自动执行该目录下的所有shell脚本。


(3)通过chkconfig命令设置


将启动文件cp到 /etc/init.d/或者/etc/rc.d/init.d/(前者是后者的软连接)下


vim 启动文件,文件前面务必添加如下三行代码,否侧会提示chkconfig不支持


#!/bin/sh 告诉系统使用的shell,所以的shell脚本都是这样
#chkconfig: 35 20 80 分别代表运行级别,启动优先权,关闭优先权,此行代码必须
#description: http server(自己随便发挥)//两行都注释掉!!!,此行代码必须
chkconfig --add 脚本文件名 # 操作后就已经添加了

例如


/etc/init.d/rds_start.sh


#!/bin/sh
#chkconfig: 2345 80 90
#description:rds_start.sh
cd /home/softs/rds/bin/
nohup ./rds_start.sh &

说明:

2345表示系统运行级别是2,3,4或者5时都启动此服务,

20,是启动的优先级,

80是关闭的优先级,

如果启动优先级配置的数太小时如0时,则有可能启动不成功,

因为此时可能其依赖的网络服务还没有启动,从而导致自启动失败。


chmod +x /etc/init.d/auto_start.sh
chkconfig --add rds_start.sh   # 添加到系统服务
chkconfig rds_start.sh on   # 设置开机启动

其他命令


chkconfig --list   # 列出服务
chkconfig rds_start.sh off   # 关闭服务
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
存储 网络协议
TCP服务器 IO多路复用的实现:select、poll、epoll
TCP服务器 IO多路复用的实现:select、poll、epoll
573 0
|
IDE Linux 开发工具
从旧服务器迁移svn到另一台新服务器中(linux系统)|遇到诸多坑,已解决
从旧服务器迁移svn到另一台新服务器中(linux系统)|遇到诸多坑,已解决
|
8月前
|
缓存 JSON API
1688 商品详情 API 接口实战指南
1688开放平台alibaba.item.get接口,用于获取商品全量信息,支持选品、ERP同步等场景。需企业认证、申请权限并配置IP白名单。通过AppKey/Secret生成签名,调用时指定item_id等参数,返回商品标题、价格、SKU、图片等字段。默认5次/秒调用频次,建议按需请求、本地缓存、异步处理以提升效率。
|
6月前
|
人工智能 网络协议 安全
2026年OpenClaw(Clawdbot)一键接入Slack保姆级教程:全球化团队协作AI助手搭建指南
2026年,远程办公与全球化协作成为企业运营的常态,高效的跨地域协作工具组合成为降本增效的关键。OpenClaw(前身为Clawdbot、Moltbot)作为阿里云生态下的开源AI自动化工具,凭借轻量化容器架构、零代码操作、强大的任务执行能力,成为全球化团队的核心协作助手;而Slack作为覆盖全球的企业级即时通讯平台,以频道管理、多终端同步、第三方应用无缝集成等优势,成为跨国团队的首选沟通载体。
659 5
|
10月前
|
JSON API 数据格式
阿里巴巴 item_get 接口对接全攻略:从入门到精通
本文详解阿里巴巴开放平台item_get接口的对接流程与实战技巧,涵盖认证机制、参数组装、签名生成、Python代码实现及错误处理。系统讲解商品详情获取、多规格解析、阶梯价格计算与供应商评估模型构建,助力开发者高效集成B2B采购数据,提升供应链系统智能化水平。(238字)
|
Shell Linux
【linux】Shell脚本中basename和dirname的详细用法教程
本文详细介绍了Linux Shell脚本中 `basename`和 `dirname`命令的用法,包括去除路径信息、去除后缀、批量处理文件名和路径等。同时,通过文件备份和日志文件分离的实践应用,展示了这两个命令在实际脚本中的应用场景。希望本文能帮助您更好地理解和应用 `basename`和 `dirname`命令,提高Shell脚本编写的效率和灵活性。
1621 32
|
Linux Shell 数据库
在Linux中,系统的开机启动顺序是什么?
在Linux中,系统的开机启动顺序是什么?
|
存储 NoSQL 大数据
【MongoDB】GridFS机制
【4月更文挑战第2天】【MongoDB】GridFS机制
|
存储 安全 Linux
Linux命令sync详解
`sync`命令在Linux中用于将内存缓冲区的数据强制写入磁盘,保证数据持久性和一致性。它在关机、重启或重要文件操作前后使用,以防数据丢失。工作原理是强制将内存中的数据同步到磁盘,特点是阻塞式执行且通常无需参数。常见用法包括安全关机、数据备份和配置文件修改后确保更改生效。应注意,过度使用可能影响性能,应适时使用`fsck`检查文件系统一致性。