linux控制系统服务,linux系统管理(系统引导过程和服务控制)

一:linux的引导过程

1.linux引导过程:

(1)开机自检:服务器开机后,根据主板BIOS中的设置对cpu,内存,硬盘等设备进行初步检测,检测成功后根据预设的启动顺序移交系统控制权限,如果硬盘是第一启动项则系统控制权会交给硬盘。

(2)MBR引导:当从本机硬盘启动系统时,首先根据硬盘第一个扇区中MBR(主引导记录)设置,将系统控制权限传递给包含操作系统引导文件的分区,或者直接根据MBR记录中的引导信息调用启动菜单

(3)加载内核(kenel):Linux内核是一个预先编译好的二进制文件,介于各种硬件资源与系统程序之间,负责资源分配与调度。内核结果操作系统控制权之后,将完全掌控整个linux系统的引导过程。

(4)INIT进程初始化:为了完成进一步的系统引导过程,linux内核首先将系统中"/sbin/init"程序加载到内存中运行(运行中的程序称为进程),INIT进程负责完成一系列初始化过程;读取配置文件/etc/inittab,根据配置内容首先执行初始化脚本文件/etc/rc.d/rc.sysinit,并通过脚本文件/etc/rc.d/rc控制应该启动哪些服务和程序,最后运行终端程序/sbin/mingetty等待用户登录。

2.系统初始化进程及文件:

(1)INIT进程:INIT进程是内核第一个加载到内存中的程序,所以说init是所有进程的父进程其对应的PID号总是1.

(2)inittab配置文件:inittab文件位于/etc/目录中,是init程序的配置文件。当init程序运行后,将按照/etc/inittab文件指定的配置依次启动系统中对应的脚本和程序。inittab文件中每一记录都从新的一行开始,每个记录项最多可有512个字符,每一项的格式通常如下:id:rstate:action:process,下面分别解释。

1.id字段是最多4个字符的字符串,用来唯一标志表项。

2.rstate(run

state)字段定义该记录项被调用时的运行级别,rstate可以由一个或多个运行级别构成,也可以是空,空则代表运行级别0~6。当请求init改变运行级别时,那些rstate字段中不包括新运行级别的进程将收到SIGTERM警告信号,并且最后被杀死;只有a、b、c启动的命令外(a、b、c不是真正的运行级别)

3.action字段告诉init执行的动作,即如何处理process字段指定的进程,action字段允许的值及对应的动作分别为:

1)respawn:如果process字段指定的进程不存在,则启动该进程,init不等待处理结束,而是继续扫描inittab文件中的后续进程,当这样的进程终止时,init会重新启动它,如果这样的进程已存在,则什么也不做。

2)wait:启动process字段指定的进程,并等到处理结束才去处理inittab中的下一记录项。

3)once:启动process字段指定的进程,不等待处理结束就去处理下一记录项。当这样的进程终止时,也不再重新启动它,在进入新的运行级别时,如果这样的进程仍在运行,init也不重新启动它。

4)boot:只有在系统启动时,init才处理这样的记录项,启动相应进程,并不等待处理结束就去处理下一个记录项。当这样的进程终止时,系统也不重启它。

5)bootwait:系统启动后,当第一次从单用户模式进入多用户模式时处理这样的记录项,init启动这样的进程,并且等待它的处理结束,然后再进行下一个记录项的处理,当这样的进程终止时,系统也不重启它。

6)powerfail:当init接到断电的信号(SIGPWR)时,处理指定的进程。

7)powerwait:当init接到恢复电信号(SIGPWR)时,处理指定的进程,并且等到处理结束才去检查其他的记录项。

8)off:如果指定的进程正在运行,init就给它发SIGTERM警告信号,在向它发出信号SIGKILL强制其结束之前等待5秒,如果这样的进程不存在,则忽略这一项。

(3)rc.sysinit脚本文件:此文件是进程init所调用的初始化脚本。位于/etc/rc.d目录下,此脚本程序主要完成设置网络,主机名,加载文件系统,设置时钟,检测文件系统等一系列初始化工作。

(4)rc脚本文件:同样由init进程调用,文件位于/etc/rc.d目录下,rc脚本通过使用不同的级别参数,分别加载不同的系统服务,进入相应的系统运行级别。如图a4c26d1e5885305701be709a3d33442f.png

rcx.d目录中保存了一些特殊的符号链接文件,rc脚本根据目录下的链接文件调用对应的服务控制程序。如当前的参数为3时rc会自动执行rc3.d目录下的链接文件。(5)rc.local脚本文件:此脚本文件是一个额外的控制文件,于/etc/rc.d/rc.local目录下,由rc脚本在最后进行加载。

二:服务控制及优化启动过程

1.系统服务控制:使用专门的控制工具service或者直接使用控制脚本文件/etc/rc.d/init.d

service 服务名称 控制类型 如图所示a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

2.runlevel:查看上次和当前运行级别如图a4c26d1e5885305701be709a3d33442f.png

3.开机自动加载服务:可以使用ntsysv和chkconfig2种工具进行设置如图a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值