一、系统启动流程服务类脚本文件

    1、/etc/inittab文件语句

        a)语句:l0:0:wait:/etc/rc.d/rc 0

        b)/etc/rc.d/rc#.d下K*和S*开头的文件都是链接文件,链接的是/etc/rc.d/init.d下或/etc/init.d(/etc/init.d是/etc/rc.d/init.d的链接文件)下的文件;

    2、RedHat中/etc/rc.d/init.d下的服务类脚本:

SysV:/etc/rc.d/init.d下的服务类脚本接收的参数:

    start|stop|restart|status

    reload|configtest

    3、/etc/rc.d/init.d下服务类脚本的共同特征:

        a)chkconfig: # chkconfig: runlevels SS KK

    当chkconfig命令来为此脚本在rc#.d目录创建链接时,runlevels表示默认创建为S*开头的链接(runlevels也可以用-表示:没有级别默认为S*开头的链接);除此之外的级别默认创建为K*开头的链接;S后面的启动优先级为SS所表示的数字;K后面关闭优先次序为KK所表示的数字;

b)# description  #用于说明此脚本的简单功能; \, 续行;

    4、chkconfig命令:

        a)chkconfig --list: 查看所有独立守护服务的启动设定;独立守护进程!

        b)chkconfig --list SERVICE_NAME 查看到的级别状态是在下次启动的时候才会生效,当前不生效;

c)chkconfig --add SERVICE_NAME 创建服务脚本链接到/etc/rc.d/rc#.d下;

        d)chkconfig --del SERVICE_NAME 移除服务脚本链接;

        e)chkconfig [--level RUNLEVELS] SERVICE_NAME {on|off} 指定服务级别的启动关闭状态;如果省略级别指定,默认为2345级别;

    5、守护进程的类型:

独立守护进程

xinetd:超级守护进程,它是瞬时守护进程的代理人

瞬时守护进程:不需要关联至运行级别

    6、如何创建脚本服务:

        a、在/etc/rc.d/init.d下服务脚本样例myservice:

#!/bin/bash

#

# chkconfig: 2345 77 22

# description: Test Service

LOCKFILE=/var/lock/subsys/myservice


status() {

  if [ -e $LOCKFILE ]; then

    echo "Running..."

  else

    echo "Stopped."

  fi

}


usage() {

  echo "`basename $0` {start|stop|restart|status}"

}


case $1 in

start)

  echo "Starting..." 

  touch $LOCKFILE ;;

stop)

  echo "Stopping..." 

  rm -f $LOCKFILE &> /dev/null

  ;;

restart)

  echo "Restarting..." ;;

status)

  status ;;

*)

  usage ;;

esac

    b)[root@localhost ~]# chkconfig --add myservice

    c)[root@localhost rc.d]# find ./ -name "*myservice*"

./rc1.d/K22myservice

./init.d/myservice

./rc2.d/S77myservice

./rc5.d/S77myservice

./rc3.d/S77myservice

./rc0.d/K22myservice

./rc4.d/S77myservice

./rc6.d/K22myservice

    7、/etc/rc.d/rc.local:是系统最后启动的一个服务,准确说,应该执行的一个脚本;开机自动创建脚本内容,对哪些不方便写成服务的,可写到此文件中执行;

二、/etc/inittab完成的任务

    1、设定默认运行级别;

    2、运行系统初始化脚本;

    3、运行指定运行级别对应的目录下的脚本;

    4、设定Ctrl+Alt+Del组合键的操作;

    5、定义UPS电源在电源故障/恢复时执行的操作;

    6、启动虚拟终端(2345级别);

    7、启动图形终端(5级别);