4.1 Linux中的进程和服务
服务的概念:启动之后一直存在、常驻内存的进程,一般被称作“服务”
守护进程(daemon):就是服务所在的进程,一般将守护进程和服务作为统一事物理解。守护进程一般以d结尾。
4.2 service服务管理(centOS 6版本)
基本语法:service 服务名 start|stop|restart|status
4.3 systemctl服务管理(centOS 7版本)
能跟在service后面的服务名必须要存在于/etc/init.d/这一目录中。centOS6中服务大多在这一目录中,而在centOS7中,这个目录中的服务只有两个,netconsole和network,centOS7更推荐用systemctl start|stop|restart|status 服务名
这一命令来进行服务管理。能跟在systemctl后面的服务名要存在于/usr/lib/systemd/system中。
4.4 系统的运行级别
Linux系统的启动流程:
1)开机BIOS自检,加载硬盘。
2)读取MBR,进行MBR引导。
3)grub引导菜单(Boot Loader)。
4)加载内核kernel。
5)启动init进程,依据inittab文件设定运行级别
6)init进程,执行rc.sysinit文件。
7)启动内核模块,执行不同级别的脚本程序。
8)执行/etc/rc.d/rc.local
9)启动mingetty,进入系统登陆界面。
Linux系统有7中运行级别(run level),常用的是级别3和5:
- 运行级别0:系统处于停机状态,系统默认运行级别不能设置为0,否则不能正常启动
- 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登录
- 运行级别2:多用户状态(没有NFS),不支持网络
- 运行级别3:完全的多用户状态(有NFS),登录后进入命令行模式
- 运行级别4:系统未使用,保留
- 运行级别5:X11控制台,登录后进入图形UI界面
- 运行级别6:系统正常关闭重启,默认运行级别不能设置为6,否则不能正常启动
4.5 chkconfig设置后台服务的自启动(centOS 6版本)
使用命令chkconfig --list
可以查看SysV服务,但不包含原生systemd服务。在centOS 7中使用该命令只能查看netconsole和network服务的运行级别自启动情况。
可以使用命令chkconfig 服务名 on/off
来开关某个服务的自启动模式,使用chkconfig --level 级别 服务名 on/off
来开关否个服务某个级别的自启动模式。
4.6 systemctl设置后台服务的自启动(centOS 7版本)
使用命令systemctl status 服务名
来查看服务的状态,启动包含了服务的自启动信息和目前的运行信息。
使用命令systemctl disable/enable 服务名
来开关某个服务的自启动模式。
使用命令systemctl list-unit-files
来查看所有服务的自启动状态。其中enabled表示开机自启动,disabled表示开机不启动,static表示依赖于其他服务的启动而启动,自己无法确定是否开机自启动。
实战:配置防火墙是否开机自启动。防火墙服务在centOS 6中命名为iptables
,在centOS 7中命名为firewalld
。
- 查看防火墙服务状态:
systemctl status firewalld
- 关闭防火墙服务:
systemctl stop firewalld.service
或者systemctl stop firewalld
- 关闭防火墙服务的开机自启动:
systemctl disable firewalld.service
4.7 关机重启
Linux系统中的关机命令是shotdown,后面可以跟不同的参数表示不同的含义。
shutdown:不加参数,默认一分钟之后关机
shutdown -h:关机,与不带参数效果一致
shotdown -c:取消关机
shotdown 3:3分钟之后关机
shutdown 15:28:在15:28时刻关机
shutdown -r:重启
思考:为什么shutdown默认一分钟之后才关机?
因为系统在执行关机之前需要执行一个sync操作,sync操作的作用是将缓冲区数据写入到硬盘中。Linux系统的写入操作设置了一个缓冲区来提升读写的效率,每次缓冲区被沾满了之后,才执行写入操作。在关机之前执行sync操作是为了将还没有被写入到磁盘的数据进行写入保存以免数据丢失。
和关机相关的命令:
sync:将数据有内存缓冲区写入到硬盘之中。
halt:停机,关闭系统,但不断电,内存数据还在。
poweroff:关机,断电
reboot:重启,等同于shutdown -r now