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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 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 
相关文章
|
8月前
|
人工智能 搜索推荐
SoulChat2.0:低成本构建 AI 心理咨询师,华南理工开源心理咨询师数字孪生大语言模型
SoulChat2.0 是华南理工大学推出的心理咨询师数字孪生大语言模型,能够低成本、快速构建个性化咨询风格的心理健康大模型,辅助心理咨询师工作。
1228 9
SoulChat2.0:低成本构建 AI 心理咨询师,华南理工开源心理咨询师数字孪生大语言模型
|
11月前
|
机器学习/深度学习 人工智能 搜索推荐
未来的人工智能技术有哪些发展趋势?
【10月更文挑战第16天】未来的人工智能技术有哪些发展趋势?
472 0
|
机器学习/深度学习 自然语言处理 并行计算
扩散模型
本文详细介绍了扩散模型(Diffusion Models, DM),一种在计算机视觉和自然语言处理等领域取得显著进展的生成模型。文章分为四部分:基本原理、处理过程、应用和代码实战。首先,阐述了扩散模型的两个核心过程:前向扩散(加噪)和逆向扩散(去噪)。接着,介绍了训练和生成的具体步骤。最后,展示了模型在图像生成、视频生成和自然语言处理等领域的广泛应用,并提供了一个基于Python和PyTorch的代码示例,帮助读者快速入门。
|
并行计算
huggingface_hub.utils._validators.HFValidationError: Repo id must be in the form ‘repo_name‘ or ‘nam
这篇文章介绍了在使用HuggingFace模型库时遇到的`Repo id`格式错误问题,并提供了将相对路径改为正确的绝对路径的解决办法。
|
jenkins Java 持续交付
Jenkins 快速入门 (含Jenkins + Docker + Git 简单的自动化实操)(上)
Jenkins 快速入门 (含Jenkins + Docker + Git 简单的自动化实操)
|
数据库
数据库-----范式判断
数据库-----范式判断
234 0
|
机器学习/深度学习 算法 API
Flink ML
Flink ML 是 Apache Flink 的一个子项目,旨在提供实时机器学习的能力。它遵循 Apache 社区规范,旨在成为实时传统机器学习的事实标准。Flink ML 提供了分布式机器学习算法,支持在线学习和离线学习,以及各种模型评估和调整方法。
414 2
对角矩阵(Diagonal Matrix)
对角矩阵(Diagonal Matrix)是一种特殊的矩阵,其元素仅位于主对角线上。对角矩阵通常用于线性代数和微积分等数学领域,它有以下几个特点:
1226 7
|
存储 人工智能 搜索推荐
硬核解读Stable Diffusion(4)
硬核解读Stable Diffusion
|
Ubuntu 索引
ubuntu更换apt源后依然搜索旧软件源下载失败问题
ubuntu更换apt源后依然搜索旧软件源下载失败问题
1057 0