详解linux系统中的进程初始化配置文件inittab 【百科全说】-凯发k8官方旗舰厅

腾讯视频/爱奇艺/优酷/外卖 充值4折起

  /etc/inittab文件描述了哪些进程开始启动并正常运行。inittab为linux初始化文件系统时init初始化程序用到的配置文件。这个文件负责设置init初始化程序初始化脚本在哪里;每个运行级初始化时运行的命令; 开机、关机、重启对应的命令;各运行级登陆时所运行的命令。

  inittab文件中的条目的格式如下:

  label:runlevels:action:process 下面分别介绍各个字段

  1.label

  label 是一个独特的序列,确定了一个条目1 - 4字符,一些系统只支持2个字符的标签。对于getty或mingetty等其他login程序项,要求label与tty的编号相同,否则getty程序将不能正常工作。

  常用标签有:

  id 用来定义缺省的init运行的级别

  si 是系统初始化的进程

  ln 其中的n从1~6,指明该进程可以使用的runlevel的级别

  ud 是升级进程

  ca 指明当按下ctrl alt del时运行的进程

  pf 指当ups表明断电时运行的进程

  pr 是在系统真正关闭之前,ups发出电源恢复的信号时需要运行的进程

  x 是将系统转入x终端时需要运行的进程

  2.runlevels

  runlevels 列出了运行级,指定应该采取的动作。可以指定多个runlevel级别,也可以不为runlevel字段指定特定的值。

  runlevel 0是让init关闭所有进程并终止系统。

  runlevel 1是用来将系统转到单用户模式,单用户模式只能有系统管理员进入,在该模式下处理那些在有登录用户的情况下不能进行更改的文件,改runlevel的编号1也可以用s代替。

  runlevel 2是允许系统进入多用户的模式,但并不支持文件共享,这种模式很少应用。

  runlevel 3是最常用的运行模式,主要用来提供真正的多用户模式,也是多数服务器的缺省模式。

  runlevel 4一般不被系统使用,用户可以设计自己的系统状态并将其应用到runlevel 4阶段,尽管很少使用,但使用该系统可以实现一些特定的登录请求。

  runlevel 5是将系统初始化为专用的x window终端。对功能强大的linux系统来说,这并不是好的选择,但用户如果需要这样,也可以通过在runlevel启动来实现该方案。

  runlevel 6是关闭所有运行的进程并重新启动系统。

  debian6以后默认没有运行/etc/inittab 文件 默认级别为2-5归为一类

  3.action

  action 字段定义了该进程应该运行在何种状态下,描述其后的process的运行方式的。:

  respawn 不管何时终止都重新启动进程

  wait 运行进程等待输入运行模式 这个过程将会开始一次运行级别时指定输入和init将等待其终止

  once 每一个runlevel级别运行一次 这个过程将执行一次当指定输入runlevel

  boot 在系统启动时运行,忽略runlevel

  bootwait 在系统启动时运行,init等待进程完成。忽略runlevel

  ctrlaltdel 当ctrl alt del三个键同时按下时运行,把sigint信号发送给init。忽略 runlevel

  initdefault 不要执行这个进程,它用于设置默认runlevel

  kbrequest 当init从键盘中收到信号时运行。这里要求键盘组合符合keyboardsigra

  off 禁止进入,因此该进程不运行

  once 每一个runlevel级别运行一次

  ondemand 当系统指定特定的运行级别a、b、c时运行

  powerfail 当init收到sigpwr信号时运行

  powerokwait 当收到sigpwd信号且/etc/文件中的电源状态包含ok时运行

  powerwait 当收到sigpwd信号,并且init等待进程结束时运行

  sysinit 在运行boot或bootwait进程之前运行

  4.process

  process字段包含init执行的进程,该进程采用的格式与在命令行下运行该进程的格式一样,因此process字段都以该进程的名字开头,紧跟着是运行时要传递给该进程的参数。

  代码如下:

  # /etc/inittab: init(8) configuration.

  # $id: inittab,v 1.91 2002/01/25 13:35:21 miquels exp $

  代码如下:

  # the default runlevel.

  id:2:initdefault: #表示当前缺省运行级别为2

  代码如下:

  # boot-time system configuration/initialization script.

  # this is run first except when booting in emergency (-b) mode.

  si::sysinit:/etc/init.d/rcs #系统初始化的进程

  代码如下:

  # what to do in single-user mode.

  ~~:s:wait:/sbin/sulogin

  代码如下:

  # /etc/init.d executes the s and k scripts upon change

  # of runlevel.

  #

  # runlevel 0 is halt.

  # runlevel 1 is single-user.

  # runlevels 2-5 are multi-user.

  # runlevel 6 is reboot.

  代码如下:

  l0:0:wait:/etc/init.d/rc 0

  l1:1:wait:/etc/init.d/rc 1

  l2:2:wait:/etc/init.d/rc 2

  l3:3:wait:/etc/init.d/rc 3

  l4:4:wait:/etc/init.d/rc 4

  l5:5:wait:/etc/init.d/rc 5

  l6:6:wait:/etc/init.d/rc 6

  # normally not reached, but fallthrough in case of emergency.

  z6:6:respawn:/sbin/sulogin

  代码如下:

  # what to do when ctrl-alt-del is pressed. #在启动过程中是否允许按ctrl-alt-delete重启系统

  #ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

  代码如下:

  # action on special keypress (alt-uparrow).

  #kb::kbrequest:/bin/echo "keyboard request--edit /etc/inittab to let this work."

  代码如下:

  # what to do when the power fails/returns.

  pf::powerwait:/etc/init.d/powerfail start

  pn::powerfailnow:/etc/init.d/powerfail now

  po::powerokwait:/etc/init.d/powerfail stop

  代码如下:

  # /sbin/getty invocations for the runlevels.

  #

  # the "id" field must be the same as the last

  # characters of the device (after "tty").

  #

  # format:

  # :::

  #

  # note that on most debian systems tty7 is used by the x window system,

  # so if you want to add more getty's go ahead but skip tty7 if you run x.

  # getty进程来提供虚拟终端设备的服务

  1:2345:respawn:/sbin/getty 38400 tty1

  代码如下:

  #标签字段的值是1,1是设备tty1的数字后缀,tty1与相应的进程相关联,该getty进程可以启动的runlevel是2,3,4和5,当该进程终止时,init马上就重新启动它。启动进程的路径名是/sbin/getty,该进程是实现虚拟终端支持的最小版本的getty,为tty1提供启动虚拟设备的进程。

  2:23:respawn:/sbin/getty 38400 tty2

  #3:23:respawn:/sbin/getty 38400 tty3

  #4:23:respawn:/sbin/getty 38400 tty4

  #5:23:respawn:/sbin/getty 38400 tty5

  #6:23:respawn:/sbin/getty 38400 tty6

  # example how to put a getty on a serial line (for a terminal)

  #

  #t0:23:respawn:/sbin/getty -l ttys0 9600 vt100

  t1:23:respawn:/sbin/getty -l ttys1 115200 vt100

  # example how to put a getty on a modem line.

  #

  #t3:23:respawn:/sbin/mgetty -x0 -s 57600 ttys3

  5.示例

  代码如下:

  # begin /etc/inittab

  id:3:initdefault:

  si::sysinit:/etc/rc.d/init.d/rc sysinit

  l0:0:wait:/etc/rc.d/init.d/rc 0

  l1:s1:wait:/etc/rc.d/init.d/rc 1

  l2:2:wait:/etc/rc.d/init.d/rc 2

  l3:3:wait:/etc/rc.d/init.d/rc 3

  l4:4:wait:/etc/rc.d/init.d/rc 4

  l5:5:wait:/etc/rc.d/init.d/rc 5

  l6:6:wait:/etc/rc.d/init.d/rc 6

  ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

  su:s016:once:/sbin/sulogin

  1:2345:respawn:/sbin/agetty tty1 9600

  2:2345:respawn:/sbin/agetty tty2 9600

  3:2345:respawn:/sbin/agetty tty3 9600

  4:2345:respawn:/sbin/agetty tty4 9600

  5:2345:respawn:/sbin/agetty tty5 9600

  6:2345:respawn:/sbin/agetty tty6 9600

  # end /etc/inittab

详解linux系统中md5sum命令的用法

06/21 02:19
这篇文章主要介绍了详解linux系统中md5sum命令的用法,用来处理md5验证的相关操作,需要的朋友可以参考下 md5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改.md5全称是报文摘要算法(message-digest algorithm 5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的"指纹"(或称"报文摘要"),不同的文件产生相 同的报文摘要的可能性是非常非常之小的. 在linux或unix上,md

详解linux系统中的root权限控制

06/28 12:38
在linux操作系统中,root的权限是最高的,也被称为超级权限的拥有者.普通用户无法执行的操作,root用户都能完成,所以也被称之为超级管理用户. 在系统中,每个文件.目录和进程,都归属于某一个用户,没有用户许可其它普通用户是无法操作的,但对root除外.root用户的特权性还表现在root 可以超越任何用户和用户组来对文件或目录进行读娶修改或删除(在系统正常的许可范围内);对可执行程序的执行.终止;对硬件设备的添加.创建和移除等; 也可以对文件和目录进行属主和权限进行修改,以适合系统管理的需

详解linux系统中的守护进程

08/17 00:26
守护进程daemon,是生存期较长的一种进程.它们常常在系统自举时启动,仅在系统关闭时才终止.因为它们没有控制终端,所以说它们是在后台运行的.unix系统有很多守护进程,它们执行日常事务活动. 1.系统自举 自举(bootstrapping)一词来自于人都是靠自身的"自举"机构站立起来的这一思想.计算机必须具备自举能力将自己所有的元件激活,以便能完成加载操作系统这一目的,然后再由操作系统承担起那些单靠自举代码无法完成的更复杂的任务. 自举只有两个功能:加电自检和磁盘引导. 加电自检:当

详解linux系统中关机与重启相关命令的用法

01/08 06:55
shutdownshutdown 以一种安全的方式关闭系统.所有登陆用户都可以看到关机信息提示,并且 login (1) 将被阻塞.可以指定立刻关机,也可以指定系统在一定的延时后关机.所有进程都将接收到 sigterm 信号.这可以使 vi (1) 等程序有时间将处于编辑状态的文件进行存储,邮件和新闻程序进程则可以将所有缓冲池内的数据进行适当的清除等等. shutdown 通过通知 init 进程,要求它改换运行级别来实现.运行级别 0 用来关闭系统,运行级别 6 用来重启系统,运行级别 1 用
12/13 10:25
一.获取源代码包并进行解压 从samba的官方网站可以下载最新的samba源代码包.下面我们以samba-3.5.9.tar.gz的源代码包作为案例进行解析.本例中,我们将源代码包放在目录/home/samba下,然后执行下面的命令进行解压缩. 代码如下: # tar –xzvf samba-3.5.9.tar.gz 二.配置configure 对源代码包进行解压缩后,进入目录 代码如下: # cd /home/samba/samba-3.5.9/source3 然后执行下面的命令进行配置. 代

详解linux系统中的usr目录

04/14 17:42
linux 文件结构中,有一个很神奇的目录 —— /usr.之前一直没有怎么关注过它,反正程序都是安装在里边的,也没有什么值得追根溯源的东西.直到有一天 fedora 要简化整个文件系统体系,看到讨论才想到,usr 到底是什么的缩写呢,它又是怎么来的呢?讨论中,大部分观点认为:1.usr 是 unix system resources 的缩写:2.usr 是 user 的缩写:3.usr 是 unix software resources 的缩写. 根据常识判断,是 user 缩写的可能性不大,

详解linux系统中的日期设定与date命令的用法

03/10 04:24
名称 : date 使用权限 : 所有使用者使用方式 : date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [ format] [mmddhhmm[[cc]yy][.ss]] 说明 : date 能用来显示或设定系统的日期和时间,在显示方面,使用者能设定欲显示的格式,格式设定为一个加号后接数个标记,其中可用的标记列表如下 :

详解linux系统中查询文档的man和info命令

01/17 05:23
manusage: man [option...] [章节] 手册页... -c, --config-file=文件   使用该用户设置文件  -d, --debug                输出调试信息  -d, --default              将所有选项都重置为默认值      --warnings[=警告]    开启 groff 的警告 主要运行模式:  -f, --whatis               等同于 whatis  -k, --apropos     

详解linux系统中的install命令的用法

12/31 01:25
用法:install [选项]... [-t] 源文件 目标文件 或:install [选项]... 源文件... 目录 或:install [选项]... -t 目录 源文件... 或:install [选项]... -d 目录... 此install 将文件(通常仅是编译后的文件)复制到您所选择的目的位置. 如果您希望在gnu/linux 操作系统上下载并安装一个即时可用的软件包, 您应当使用诸如yum(1) 和apt-get(1) 的软件包管理器. 在前三种形式中,将源文件复制到目标文件或
网站地图