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
2
3
4
5
6
7
8
9
10
11
自启动脚本
1、每个用户
/etc/profile(/etc/profile.d)登录时都执行 # 环境变量
/etc/bashrc 运行bash shell时执行此文件
2、特定用户
~/.bash_profile 登录时 ~/.profile(Debian)
~/.bashrc 登录时以及每次打开新的 shell 时
~/.bash_logout 每次退出系统(退出bash shell)时,执行该文
1
2
3
4
5
6
7
8
参考
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
(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(自己随便发挥)//两行都注释掉!!!,此行代码必须
1
2
3
chkconfig --add 脚本文件名 # 操作后就已经添加了
1
例如
/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 &
1
2
3
4
5
说明:
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 # 设置开机启动
————————————————
CentOS 设置开机自启动服务
在CentOS或者RedHat其他系统下,如果是后面安装的服务,如httpd、mysqld、postfix等,安装后系统默认不会自动启动的。
就算手动执行 /etc/init.d/mysqld start 启动了服务,只要服务器重启后,系统仍然不会自动启动服务。 在这个时候,我们就需要在安装后做个设置,让系统自动启动这些服务,避免不必要的损失和麻烦
————————————————
一. 实验环境
CentOS 7.5
方法一:ln -s 建立软连接
在CentOS中总共有7种运行级别,可以在/etc/inittab 文件中进行设置,7种运行级别对应着 /etc/rc.d/rc[0-6].d 这七个目录
ps: 你可能也发现了在/etc下也有同样的7个文件夹即 /etc/rc[0-6].d ,通过查看发现/etc/rc[0-6].d其实就是/etc/rc.d/rc[0-6].d的软连接,只是为了保持和Unix的兼容性
这7个目录对应着7种不同运行级别,也就是说在每一个目录下的内容表示在该运行级别下应该启动或者关闭的服务。例如我们看一下/etc/rc.d/rc5.d目录下的内容
当然你可能也发现了,这些文件是按照如下格式命名的 [KS][1-100]servicename ,它表示当系统的运行级别为5时,它会关掉以K开头的所有服务,并启动所有以S开头的服务,其实,这些服务都是/etc/init.d/中某个服务的软连接,所以真正启动的服务是/etc/init.d目录中的某一个服务,而以K/S开头建立软连接是为了表明在对应级别下应该采取的行为,K/S后面紧跟的数字表示开/关服务的优先级。
因此,如果我们自己写了一个脚本代码 如cleanupd,需要在开机级别为3的时候自启动的话,那么我们只需要把可执行的cleanupd脚本文件放到 /etc/init.d目录下,并在对应的运行级别目录下 如/etc/rc.d/rc3.d/ 建立一个以S开头后加数字的软连接到/etc/init.d/cleanupd即可,如
————————————————
[root@localhost ~]# ln -s /etc/init.d/cleanupd /etc/rc.d/rc3.d/S95cleanup
显然,这样的设置方式比较繁琐,仅仅适合于我们想DIY的脚本服务;
方法2:chkconfig
鉴于上面的手工操作比较繁琐,在CentOS中专门提供了chkconfig 命令来设置或者取消开机自启动服务。如,查询所有开机启动的服务:
使用chkconfig 或者 chkconfig –list就可以看出当前系统已经设置的各个服务在各个运行级别下的开闭状态。如果我们想设置某个服务自启动或者关闭的话,那么只需要按照下面的格式使用即可
chkconfig servicename on/off
如:
1. 查看 sshd
2. 将 sshd 设置为开机自启动:
[root@host ~]# chkconfig sshd on
取消 sshd 的开机自启动,只需要将 on 改为 off 即可:
[root@host ~]# chkconfig sshd off
3.值得注意的是,如果这个服务尚未被添加到 chkconfig 列表中,则现需要使用 –-add 参数将其添加进去:
[root@host ~]# chkconfig --add sshd
4.如果要查询当前所有自动启动的服务,可以输入:
[root@host ~]# chkconfig --list
5.如果只想看指定的服务,只需要在 “–-list” 之后加上服务名就好了,比如查看httpd服务是否为自动启动:
[root@host ~]# chkconfig --list httpd
[root@host ~]# chkconfig --list httpd
httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
此时0~6均为off,则说明httpd服务不会在系统启动的时候自动启动。我们输入:
[root@host ~]# chkconfig httpd on
则此时为:
[root@host ~]# chkconfig --list httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
这个时候2~5都是on,就表明会自动启动了。
方法三:修改 /etc/rc.d/rc.local 这个文件:
例如将 apache、MySQL、samba、svn 等这些服务的开机自启动问题一起搞定:
vi/etc/rc.d/rc.local
添加以下命令
/usr/sbin/apachectlstart
/etc/rc.d/init.d/mysqldstart
/etc/rc.d/init.d/smbstart
/usr/local/subversion/bin/svnserve-d
————————————————
版权声明:本文为CSDN博主「Peter_Lv1」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_40606798/java/article/details/82286273
Linux开机启动顺序启动顺序及配置开机启动的更多相关文章
- Docker:Linux离线安装docker-17.03.2-ce,配置开机自启
1. 准备docker离线包 docker官方离线包下载地址 下载需要安装的docker版本,我此次下载的是:docker-17.03.2-ce.tgz 2. 准备docker.service 系统配 ...
- Linux启动顺序、运行级别及开机启动
一.启动顺序 当我们经过BIOS引导,并选择了Linux作为准备引导的操作系统后,接下来的执行顺序如下:1.加载并执行内核 第一个被加载的东西就是内核.然后把内核在内存中解压缩,就可以开始运行了.2. ...
- SpringBoot在启动时的多环境配置以及加载顺序
通常我们在开发完成一个SpringBoot项目时,总是要打包部署的. 在启动SpringBoot应用时,我们常常会使用命令java -jar xxx.jar来启动这个服务. 命令java -jar 除 ...
- 【Linux】Jenkins以war包运行及开机启动配置(四)
本例介绍jenkins已war包运行及开机启动配置 环境:Linux环境(CentOS 7.4) 以war包运行 1.下载jenkins.war包 2.启动war包( 默认端口:8080,默认JENK ...
- 计算机启动过程的简单介绍 计算机启动流程 计算机BIOS作用 POST 开机自检 计算机启动顺序 分区表 操作系统启动
原文地址:4.计算机启动过程的简单介绍 计算机启动流程 计算机BIOS作用 POST 开机自检 计算机启动顺序 分区表 操作系统启动 计算机的启动
- Linux下配置Nginx(在root的/etc/rc.local里配置开机启动功能http://tengine.taobao.org/)
上面是下载的包下载地址 http://tengine.taobao.org/download_cn.html nginx官网http://nginx.org/ 下一步 下一步 其中remote为重要属 ...
- linux学习笔记-conky配置开机启动方法
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 一.常用桌面的配置方法 创建启动文件并加入以下配置 ~/.config/autostart/conky.desktop [Des ...
- SSH框架项目配置和启动的加载顺序及请求的执行顺序
1:======配置和启动====== (1)配置web.xml 配置<context-param>,其中内容为Spring的配置文件applicationContext.xml.注意&l ...
- ubuntu系统自动配置开机启动脚本
以前一直搞的centos配置开机启动脚本,但是相同方法用在ubuntu系统上就不管用了,非常伤脑筋. 非常感谢 https://www.linuxidc.com/Linux/2017-09/1471 ...
随机推荐
- .net Winform 揭开语音识别的神秘面纱
今天老哥弄上位机,了解到一个有意思的东西,就是语音识别,真的很简单,话不多话,一起看图吧 1. 初始 Winform 界面设计: 2.潦潦几句代码书写着我的理解: 2-1. 先看引用 dll usi ...
- 在C++中使用libuv时对回调的处理 (2)
前情简介 在完成了第一版的<在C++中使用libuv时对回调的处理>之后,在对项目进行开发的时候,还是感觉有一些难受. 因为在实际操作的时候,需要构建一个结构体,并且需要对这个结构体的内存 ...
- P2947 Look Up S
题目描述: 约翰的N(1≤N≤10^5)头奶牛站成一排,奶牛i的身高是Hi(l≤Hi≤1,000,000).现在,每只奶牛都在向右看齐.对于奶牛i,如果奶牛j满足i<j且Hi<Hj,我们可 ...
- javaFX 在窗口的标题栏显示当前时间,1秒更新一次时间
例1:在窗口的标题栏显示当前时间,1秒更新一次时间 1 import java.text.DateFormat; 2 import java.text.SimpleDateFormat; 3 impo ...
- ACM蒟蒻的爪巴之路
ACM蒟蒻的爪巴之路 从今天开始ACM菜狗yjhdd的博客之路就要开始啦~ 以后会不定时更新题解以及自己的理解感悟和收获(ง •_•)ง (多半是想划水的时候来写写博客Orz)
- Sticks(UVA - 307)【DFS+剪枝】
Sticks(UVA - 307) 题目链接 算法 DFS+剪枝 1.这道题题意就是说原本有一些等长的木棍,后来把它们切割,切割成一个个最长为50单位长度的小木棍,现在想让你把它们组合成一个个等长的大 ...
- SHOI 2014 【概率充电器】
加油,两道了,也就还剩那么二十来道吧,慢慢做...... 题目大意: 给你一颗树,树上的每一个节点都有一定的概率p[i]能冲上电,有电的点,可以通过树上的边,一定概率地将电传递到与它相邻的点,同时对于 ...
- 架构师根本不会被语言限制住,php照样可以用领域驱动设计DDD四层架构!
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 你在通往架构师的路上吗? 程序员这个行业就像是在不断的打怪升级,突破每一阶段的瓶颈期 ...
- Python+Appium自动化测试(5)-appium元素定位常用方法
对于Android而言,查找appUI界面元素属性的工具有三种:appium desktop,uiautomatorviewer.bat,weditor.之前已经介绍过了weditor的使用,这里我将 ...
- 2017-18一《电子商务概论》专科作业--经管B1601/2、经管B1631
第1次作业: 1.你如何来定义和理解电子商务?电子商务对社会经济带了怎样的影响,企业.消费者的反应如何?你知道哪些电子商务企业,他们都属于什么类型? 2.请详细阐述应该如何关注哪些事项才能在淘宝网成功 ...