最近在读Karl Kopper 用商业硬件和免费软件构建高可用集群。顺便记录一些有价值的内容。同时也希望能对其它关心这方面内容的朋友有帮助。
书的开头介绍了一些很基础的linux操作。以前不是很清楚的地方,这次也一并熟悉一下。
[b]1.2 使用init启动服务[/b]
内核启动并运行最初的初始步骤之后,init守护进程(所有进程的父进程)将被启动。然后init按照/etc/inittab配置中个的各项,启动必要的守护进程。
/etc/inittab 定义了0-6 7个系统运行级别 7行代码
每当系统的运行级别发生变化时,需要运行一次rc程序(/etc/rc.d/rc脚本)
init将包含运行级别号(0-6)的单字符参数传递给rc程序。然后rc程序启动/etc/rc.d目录下相应运行级别子目录中的所有以S开头的脚本。没有理解错的话S应该是start的缩写。
默认运行级别由/etc/inittab文件中的initdefault行定义:
id:3:initdefault
使用runlevel命令查看当前运行级别。
不运行图形界面的redhat linux默认级别为3.即init传递3给rc,rc运行/etc/rc3.d目录下以S开头的各个脚本,并为他们传递参数start。当系统管理员用shutdown命令时
传递给rc 3 ,rc运行/etc/rc3.d下以K(kill)开头的脚本,传递stop参数。
redhat 所有运行级别子目录内容
值得注意的是这下面的kill start脚本只是指向/etc/rc.d/init.d目录下真实脚本的符号链接,可以通过创建移除这些符号链接来控制每个运行级别上运行的程序。
书的开头介绍了一些很基础的linux操作。以前不是很清楚的地方,这次也一并熟悉一下。
[b]1.2 使用init启动服务[/b]
内核启动并运行最初的初始步骤之后,init守护进程(所有进程的父进程)将被启动。然后init按照/etc/inittab配置中个的各项,启动必要的守护进程。
/etc/inittab 定义了0-6 7个系统运行级别 7行代码
每当系统的运行级别发生变化时,需要运行一次rc程序(/etc/rc.d/rc脚本)
init将包含运行级别号(0-6)的单字符参数传递给rc程序。然后rc程序启动/etc/rc.d目录下相应运行级别子目录中的所有以S开头的脚本。没有理解错的话S应该是start的缩写。
默认运行级别由/etc/inittab文件中的initdefault行定义:
id:3:initdefault
使用runlevel命令查看当前运行级别。
不运行图形界面的redhat linux默认级别为3.即init传递3给rc,rc运行/etc/rc3.d目录下以S开头的各个脚本,并为他们传递参数start。当系统管理员用shutdown命令时
传递给rc 3 ,rc运行/etc/rc3.d下以K(kill)开头的脚本,传递stop参数。
redhat 所有运行级别子目录内容
ls -l /etc/rc.d/rc?.d |less
值得注意的是这下面的kill start脚本只是指向/etc/rc.d/init.d目录下真实脚本的符号链接,可以通过创建移除这些符号链接来控制每个运行级别上运行的程序。