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

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 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 # 关闭服务
            </div>
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
2月前
|
存储 关系型数据库 MySQL
MySQL Docker 容器化部署全指南
MySQL是一款开源关系型数据库,广泛用于Web及企业应用。Docker容器化部署可解决环境不一致、依赖冲突问题,实现高效、隔离、轻量的MySQL服务运行,支持数据持久化与快速迁移,适用于开发、测试及生产环境。
551 4
|
3月前
|
机器学习/深度学习 搜索推荐 算法
基于深度学习的音乐推荐系统
本文探讨了信息过载背景下推荐系统的发展与应用,重点研究基于卷积神经网络的音乐推荐系统设计与实现。内容涵盖推荐系统的发展历程、技术架构及在音乐领域的应用,介绍了系统开发中使用的Python、MySQL与B/S结构等关键技术,并提出了通过输入文字实现音乐推荐的解决方案,旨在提升用户个性化音乐获取效率。
|
4月前
|
JSON API 数据格式
小红书笔记详情API,json数据返回
以下是一个模拟的小红书笔记详情的JSON数据返回示例,包含了笔记的基本信息、作者信息、内容、图片、标签以及互动数据(点赞、评论、收藏)等关键字段:
|
6月前
|
API UED 开发者
38.[HarmonyOS NEXT Row案例六] 打造流畅水平滚动标签列表:Row与Scroll的完美结合
在移动应用界面设计中,水平滚动的标签列表是一种常见且实用的UI元素,它可以在有限的屏幕空间内展示多个分类或选项。本教程将详细讲解如何使用HarmonyOS NEXT的Row组件结合Scroll容器创建一个水平滚动的标签列表,帮助开发者构建出流畅、美观的分类导航界面。
179 5
|
9月前
|
SQL 缓存 Cloud Native
NSDI'24 | 阿里云飞天洛神云网络论文解读——《Poseidon》揭秘新型超高性能云网络控制器
NSDI'24 | 阿里云飞天洛神云网络论文解读——《Poseidon》揭秘新型超高性能云网络控制器
382 63
|
机器学习/深度学习 传感器 人工智能
《智驱新材变革:人工智能赋能新材料柔性制造新时代》
在当今制造业快速变革的背景下,柔性制造与新材料产业成为行业发展的关键。借助人工智能技术,新材料生产正迈向更加灵活、高效、智能的方向。AI通过深度数据分析,优化生产规划与调度,精准预测市场需求,动态调整生产计划;实时监测和自适应控制工艺参数,确保产品质量稳定;利用机器视觉等技术实现智能质量检测,提前预防缺陷;构建人机协作的智能制造生态系统,充分发挥人和机器的优势。这不仅提高了生产效率和资源利用率,还为全球制造业的转型升级注入了强大动力,开创了新材料生产的新时代。
395 5
|
存储 Kubernetes Perl
K8S中Pod启动异常
【10月更文挑战第3天】
583 2
|
Devops jenkins 测试技术
DevOps实践:持续集成与持续部署(CI/CD)的实现之路
【9月更文挑战第33天】在软件开发的海洋中,DevOps是一艘能够加速航行、提升航程质量的巨轮。本文将作为你的航海图,指引你理解并实现DevOps文化中的核心环节——持续集成(CI)与持续部署(CD)。我们将从基础概念出发,逐步深入到实际操作,带你领略代码到部署的全过程。准备好扬帆起航,让我们共同探索如何通过自动化工具和流程优化,让软件交付变得既高效又可靠。
|
存储 安全 Cloud Native
揭秘Quarkus安全秘籍:守护云原生应用,抵御未知威胁,助力企业稳健前行
随着云原生技术的发展,企业愈发倾向于在容器化环境中部署应用。作为一款专为云原优化的Java框架,Quarkus的安全性备受关注。本文介绍了Quarkus中的安全最佳实践,包括使用OpenID Connect进行身份认证、使用JWT进行权限控制以及保护敏感端点。通过这些实践,可有效提升应用安全性。同时,还需定期更新依赖库、使用HTTPS协议、加密存储敏感数据及定期进行安全审计,以确保应用的安全性和可靠性。
351 4
|
XML JSON Java
OpenFeign深入学习笔记
OpenFeign 是 Spring Cloud 生态系统中的一个强大工具,它使得微服务之间的通信变得更加简单和高效。通过使用 OpenFeign,开发者可以专注于业务逻辑的实现,而不需要关心底层的 HTTP 通信细节。
305 0