zoukankan      html  css  js  c++  java
  • 【Linux笔记】Linux中inittab剖析

    Linux完成内核(Kernel)引导后,会由init初始化进程调用/etc/inittab配置文件(ps -aux | less,init进程号为始终为1,是所有系统进程的起点,init进程也有一个PID为0的父进程Kernel Scheduler,该进程用来分配CPU时间和进行进程间切换。)

    /etc/inittab文件格式:id:run-levels:action:process,共包含4项,用冒号分隔,其中某些部份可以为空,各项详细解释如下: 

    id

    标识符,一般为两位字母或数字,该标识符唯一,在配置文件中不能重复。

    run-level

    指定系统运行级,即执行登记项的init级别。用于指定相应的登记项适用于哪一个运行级,即在哪一个运行级中被处理。如果该字段为空,那么相应的登记项将适用于所有的运行级。在该字段中,可以同时指定一个或多个运行级,其中各运行级分别以数字0 1 2 3 4 5 6或字母a、b、c 表示,且无需对其进行分隔。

    Linux有7个运行级,如下:

    0-halt 关机,让init关闭所有进程并关机

    1-Single user mode 单用户字符界面,通常又称为s或S

    2-Multiuser,without NFS 不具备网络文件系统功能的多用户字符界面

    3-Full multiuser mode 具备网络文件系统功能的多用户字符界面

    4-unused 保留不用

    5-X11 具备网络功能的图形用户界面

    6-reboot 关闭所有运行的进程并重新启动系统

    除此之外还有ABC三个运行级别,但在Linux都没有意义。

    action

    指定运行动作,用于指定init(M)命令或进程对相应进程(在“process”字段定义)所实施的动作,有以下几种:

    行为 描述
    respawn
     一旦第4项指定的process命令中止,便重新运行该命令。
    wait
    执行第4项指定的process,并等其结束后再运行其它命令。
    once
    执行第4项指定的process,不等待它执行完成,继续运行其它命令。
    boot
    不论在哪个执行等级,系统启动时都会运行第4项指定的process。
    bootwait
    不论在哪个执行等级,系统启动时都会运行第4项指定的process,且一直等它执行完备。
    off
    关闭任何动作,相当于忽略该配置行。
    ondemand
    进入ondemand执行等级时,执行第4项指定的process。
    initdefault
    系统启动后进入的执行等级,该行不需要指定process。
    sysinit
    不论在哪个执行等级,系统会在执行boot及bootwait之前执行第4项指定的process。
    powerwait
    当系统的供电不足时执行第4项指定的 process,且一直等它执行完毕。
    powerokwait
    当系统的供电恢复正常时执行第4项指定的process,且一直等它执行完毕。
    powerfailnow
    当系统的供电严重不足时执行第4项指定的process。
    powerfail
    当出现电源错误时执行第4项指定的process命令,不等待其结束。
    ctrlaltdel
    当用户按下【Ctrl+Alt+Del】时执行第4项指定的 process。
    kbrequest
    当用户按下特殊的组合键时执行第4项指定的process,此组合键需在keymaps文件定义。

     process

    指定要运行的Shell脚本/命令。

    /***************************隐藏部份******************************* /

    最先运行的服务存放在/etc/rc.d目录下,启动脚本位于目录/etc/rc.d/init.d中,这些脚本的是被ln命令连接到/etc/rc.d/rc[0-6].d。

    在init进程读取/etc/inittab的过程的时候,首先会判断系统缺省的运行级别initdefault(/etc/inittab),

    /etc/rc.d/rc.sysinit,系统初始化操作

    脚本/etc/rc.d/rc.sysint,不管系统是何级别(0-6),都会执行该脚本,在每次系统启动时运行一次。完成系统服务程序启动,如系统环境变量设置、设置系统时钟、加载字体、检查加载文件系统、生成系统启动信息日志文件等。

    判断默认的运行级别,调味用/etc/rc.d/rc脚本,执行相应运行级别目录中的服务程序,完成相应运行级别的初始化设置。

    如果默认的运行级别为3(N:0-6),则如下:

    如上文件列表中的文件:

    以S开头的文件,S-Start,表示启动该脚本,以K开头的文件,K-Kill,表示关闭该脚本。

    数字0-x,表示脚本启动的顺序,数字越小,越优先启动。 

     

     

  • 相关阅读:
    [转载]SELinux 环境下网络服务设置,配置 Apache 、Samba、NFS
    [转载]SELinux安全系统基础
    Linux NFS服务器的安装与配置
    将可执行程序设为linux服务启动
    不关闭selinux下配置php+httpd访问KingbaseES
    [转载]SELinux安全系统基础
    解决samba和SELINUX 冲突
    [转载]在线文本编辑器的基本实现原理
    [转载]使用postgresql安装wordpress
    [转载]php连接postgreSQL数据库及其操作(php5,postgreSQL9)
  • 原文地址:https://www.cnblogs.com/lyongde/p/3148497.html
Copyright © 2011-2022 走看看