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 
相关文章
|
11月前
|
人工智能 搜索推荐
SoulChat2.0:低成本构建 AI 心理咨询师,华南理工开源心理咨询师数字孪生大语言模型
SoulChat2.0 是华南理工大学推出的心理咨询师数字孪生大语言模型,能够低成本、快速构建个性化咨询风格的心理健康大模型,辅助心理咨询师工作。
1607 9
SoulChat2.0:低成本构建 AI 心理咨询师,华南理工开源心理咨询师数字孪生大语言模型
|
6月前
|
JSON 生物认证 API
harmony-utils之NotificationUtil,通知工具类
harmony-utils 是一款功能丰富的 HarmonyOS 工具库,提供通知、设备、文件等常用工具类。NotificationUtil 作为其子模块,专注于通知管理,支持普通、多行、长文本、图片及模板通知的发布与管理,简化鸿蒙应用开发流程。
171 0
|
11月前
|
存储 算法 区块链
区块链:版权保护的新利器
区块链:版权保护的新利器
847 21
|
数据挖掘 大数据 API
Polars实践(1):阿里天池——淘宝用户购物行为分析
Polars实践(1):阿里天池——淘宝用户购物行为分析
835 0
|
存储 缓存 Ubuntu
配置网络接口的“IP”命令10个
【10月更文挑战第18天】配置网络接口的“IP”命令10个
680 0
|
网络协议 网络安全 Python
电脑中 TCP/UDP 端口是否开放的测试:令人意想不到的神奇策略等你发现!
【8月更文挑战第19天】在网络管理和维护中,常需确认TCP/UDP端口是否开放以确保服务运行顺畅。端口如同计算机对外通信的“门”,TCP提供可靠连接,UDP则快速但无连接。测试端口是否开放的方法多样:可用`telnet`测试TCP端口,如`telnet localhost 80`;UDP测试较复杂,可用`nc`工具,如`nc -u -z localhost 53`。此外,也有在线工具可供选择,但需确保其安全性。
2796 1
|
运维 Cloud Native 安全
云原生技术的未来趋势与挑战
随着云计算技术的不断发展,云原生技术已经成为了企业数字化转型的重要驱动力。本文将从数据导向、科学严谨和逻辑严密的角度,探讨云原生技术的未来趋势与挑战。首先,我们将分析云原生技术的发展现状,包括其优势和应用场景。然后,我们将预测云原生技术的未来发展趋势,并讨论可能面临的挑战。最后,我们将提出一些建议,以帮助企业更好地应对这些挑战。
273 12
|
运维 数据安全/隐私保护 网络协议
【网络建设与运维】2024年浙江省职业院校技能大赛中职组“网络建设与运维”赛项规程
【网络建设与运维】2024年浙江省职业院校技能大赛中职组“网络建设与运维”赛项规程
【网络建设与运维】2024年浙江省职业院校技能大赛中职组“网络建设与运维”赛项规程
|
监控 网络协议 网络安全
【专栏】RTMP和RTSP是流媒体传输常用的协议:秒懂
【4月更文挑战第28天】RTMP和RTSP是流媒体传输常用的协议。RTMP由Adobe开发,适合低延迟的实时通信,常用于网络直播和在线游戏;而RTSP是IETF定义的协议,侧重于流媒体播放控制,适用于视频监控和VoD服务。RTMP在业界普及度高,RTSP则在专业领域更常见。选择时需考虑延迟、应用场景和安全性等因素。
2665 1
|
jenkins Java 持续交付
Jenkins 快速入门 (含Jenkins + Docker + Git 简单的自动化实操)(上)
Jenkins 快速入门 (含Jenkins + Docker + Git 简单的自动化实操)