Linux的运行级别和设置开机启动服务的方式
Linux的运行级别
什么是运行级别呢?简单点来说,运行级别就是操作系统当前正在运行的功能级别。级别是从0到6,具有不同的功能。这些级别定义在/ect/inittab文件中。这个文件是init程序寻找的主要文件,最先运行的服务是那些放在/ect/rc.d目录下的文件。
Linux的7个运行级别
| 级别 | 描述 |
|---|---|
| 0 | 系统停机状态,系统默认运行级别不能设置为0,否则不能正常启动,机器关闭 |
| 1 | 单用户工作状态,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录 |
| 2 | 多用户状态,没有NFS支持 |
| 3 | 完整的多用户模式,有NFS,登陆后进入控制台命令行模式 |
| 4 | 系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置 |
| 5 | X11控制台,登陆后进入图形GUI模式,X Window系统 |
| 6 | 系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动。运行init 6机器就会重启 |
运行级别原理:
- 在目录/etc/rc.d/init.d下有许多服务器脚本程序,一般称为服务(service)
- 在/etc/rc.d下有7个名为rcN.d的目录,对应系统的7个运行级别
- rcN.d目录下都是一些符号链接文件,这些链接文件都指向init.d目录下的service脚本文件,命名规则为K+nn+服务名或S+nn+服务名,其中nn为两位数字。
- 系统会根据指定的运行级别进入对应的rcN.d目录,并按照文件名顺序检索目录下的链接文件:对于以K开头的文件,系统将终止对应的服; 对于以S开头的文件,系统将启动对应的服务
- 查看运行级别用:runlevel
- 进入其它运行级别用:init N,如果init 3则进入终端模式,init 5则又登录图形GUI模式
- 另外init0为关机,init 6为重启系统
标准的Linux运行级别为3或5,如果是3的话,系统就在多用户状态;如果是5的话,则是运行着X Window系统。
不同的运行级别有不同的用处,也应该根据自己的不同情形来设置。例如,如果丢失了root口令,那么可以让机器启动进入单用户状态来设置。在启动后的命令提示符下输入:
init=/bin/sh rw
这样就可以使机器进入运行级别1,并把root文件系统挂为读写。它会路过所有系统认证,让你使用passwd程序来改变root口令,然后启动到一个新的运行级。
设置开机启动服务
使用chkconfig设置
将启动文件cp到 /etc/init.d/或者/etc/rc.d/init.d/(前者是后者的软连接)下
用文本编辑器如 vi 打开文件,文件前面务必添加如下三行代码,否侧会提示chkconfig不支持
!/bin/sh 告诉系统使用的shell,所以的shell脚本都是这样
chkconfig: 35 20 80 分别代表运行级别,启动优先权,关闭优先权,此行代码必须
description: http server(自己随便发挥)//两行都注释掉!!!,此行代码必须
- chkconfig --add [脚本文件名] 操作后服务就已经添加到启动项了
### 编辑文件 /etc/rc.local
- 用文本编辑器如 *vi* 打开该文件
- 在文件末尾(exit 0之前)加上你开机需要启动的程序或执行的命令即可(执行的程序需要写绝对路径,添加到系统环境变量的除外)
### 自己编写启动脚本
- 编写服务启动shell脚本
- 将写好的脚本(.sh文件)放到目录 /etc/profile.d/ 下,系统启动后就会自动执行该目录下的所有shell脚本
### 使用 *systemctl* 命令添加
- systemctl enable [服务名称]
Linux的运行级别和设置开机启动服务的方式的更多相关文章
- ubuntu下设置开机启动服务
原文:http://blog.csdn.net/dante_k7/article/details/7213151 在ubuntu10.04之前的版本都是使用chkconfig来进行管理,而在之后的版本 ...
- Linux系统中svn服务器设置开机启动
安装完svn服务器后虽然好用但是因为经常重启Linux服务器,每次重启完就要去手动启动svn服务器,很是麻烦,于是在网上找了一些方法后,自己把svn服务器设置成开机启动 步骤一:安装svn服务器: h ...
- Linux上安装ZooKeeper并设置开机启动(CentOS7+ZooKeeper3.4.10)
1下载Zookeeper 2安装启动测试 2.1上载压缩文件并解压 2.2新建 zookeeper配置文件 2.3安装JDK 2.4启动zookeeper 2.5查看zookeeper的状态 3将Zo ...
- windows系统下同时启动三台Tomcat服务的配置&并设置开机启动服务
1.tomcat 7.0.82下载地址:链接:https://pan.baidu.com/s/1i51pAgl 密码:mxol 2.解压apache-tomcat-7.0.82-windows-x64 ...
- CentOS linux7 设置开机启动服务
常用命令 描述 旧命令 新命令 使服务自动启动 chkconfig --level 3 http on syste ...
- CentOS 7设置开机启动服务,添加自定义系统服务
由于版本的迭代,最近刚刚接触 CentOS 7,各种蛋疼 发现跟以前用的CentOS 6有着一些本质上的差别,连启动服务都不会启动了,一怒之下自己找资料,于是有了这篇文章... 1.建立服务文件 ...
- linux mongodb开机启动(服务的方式)
MongoDB安装 https://blog.csdn.net/junshangshui/article/details/79371316 设置mongodb.service启动服务 cd /lib/ ...
- Ubuntu设置开机启动服务
一.查看当前的运行级别 runlevel 二.加载服务 $ cd /etc/init.d $ sudo update-rc.d test defaults 95 三.增加默认启动脚本 sudo vi ...
- centos 7 设置开机启动服务
2018-12-25 Centos7下添加开机自启动脚本和服务的方法 以docker 服务为例 1.centos7自带命令设置 systemctl enable docker.service 2.设置 ...
随机推荐
- python 全栈开发,Day53(jQuery的介绍,jQuery的选择器,jQuery动画效果)
01-jQuery的介绍 1.为什么要使用jQuery 在用js写代码时,会遇到一些问题: window.onload 事件有事件覆盖的问题,因此只能写一个事件. 代码容错性差. 浏览器兼容性问题. ...
- [CF1182F]Maximum Sine
题意:\(f(x) = \text{abs}(\text{sin}(\frac{p}{q} \pi x))\),给定\(a,b,p,q\),求\(x\in[a,b]\)最大的\(f(x)\). 题解: ...
- [CSP-S模拟测试]:凤凰院凶真(LCIS)
题目描述 $\alpha$世界线.凤凰院凶真创立了反抗$SERN$统治的组织“瓦尔基里”.为了脱离$\alpha$线,他需要制作一个世界线变动率测量仪.测量一个世界线相对于另一个世界线的变动率,实质上 ...
- p4899 [IOI2018] werewolf 狼人
分析 我用的主席树维护qwq 代码 #include<iostream> #include<cstdio> #include<cstring> #include&l ...
- TimeInOfficePresent
w x <- c(52, 30, 10, 8)labels <- c("分析思考", "写代码.调试", "沟通", " ...
- 002-notepad++语言,编码,字体,背景色
一.基本操作 1.1.语言 Setting→Perferences→语言选择 1.2.默认编码 编码→使用UTF-8 无BOM编码 1.3.字体 “设置”-->“语言格式设置”-->“字体 ...
- MySQL 导入导出 CSV 文件
导入 导出 清空表中的所有数据 注意事项 常见问题 ERROR 1290 (HY000): The MySQL server is running with the --secure-file-pri ...
- go tour - Go 入门实验教程
在线实验地址 - 官网 在线实验地址 - 国内 可以将官方教程作为独立程序在本地安装使用,这样无需访问互联网就能运行,且速度更快,因为是在你的机器上构建并运行代码示例. 本地运行此教程的中文版的步骤如 ...
- Cordova指令
安装 cordova: npm install -g cordova 创建应用程序 cordova create hello com.example.hello HelloWorld cordov ...
- 网络流强化-POJ2516
k种货物分开求解最小费用最大流,主要减少了寻找最短路的时间. #include<queue> #include<cstdio> #include<cstring> ...