Linux的第一个进程:init(1)
来源:互联网 发布:js的clone 编辑:程序博客网 时间:2024/06/16 03:17
引自:http://server.it168.com/a2009/0309/267/000000267918.shtml
4.1.7 Linux的第一个进程:init(1)
init是Linux系统执行的第一个进程,进程ID为1,是系统所有进程的起点,主要用来执行一些开机初始化脚本和监视进程。Linux系统在完成内核引导以后就开始运行init程序,init程序需要读取配置文件/etc/inittab。inittab是一个不可执行的文本文件,它由若干行命令组成。在RHEL4系统中,inittab配置文件的内容如下所示。
#
# inittab This file describes how the INIT process should set up
# the system in a certain run-level.
#
# Author: Miquel van Smoorenburg,
# Modified for RHS Linux by Marc Ewing and Donnie Barnes
#
# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
//表示当前默认运行级别为5,启动系统进入图形化界面
id:5:initdefault:
//启动时自动执行/etc/rc.d/rc.sysinit脚本
# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
//当运行级别为5时,以5为参数运行/etc/rc.d/rc脚本,init将等待其返回
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
//在启动过程中允许按[Ctrl+Alt+Del]重启系统
# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
# When our UPS tells us power has failed, assume we have a few minutes
# of power left. Schedule a shutdown for 2 minutes from now.
# This does, of course, assume you have powerd installed and your
# UPS connected and working correctly.
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"
# If power was restored before the shutdown kicked in, cancel it.
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"
//在运行级别2、3、4、5上以ttyX为参数执行/sbin/mingetty程序,打开ttyX终端用于用户登录,如果进程退出则再次运行mingetty程序
# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
//在级别5上运行xdm程序,提供xdm图形方式登录界面,并在退出时重新执行
# Run xdm in runlevel 5
x:5:respawn:/etc/X11/prefdm -nodaemon
id:runlevels:action:process
其中某些部分可以为空,下面我们逐一介绍。
1.id
1~2个字符,配置行的唯一标识,在配置文件中不能重复。
2.runlevels
配置行适用的运行级别,在这里可填入多个运行级别,比如12345或者35等。
Linux有7个运行级别。
l 0:关机。
l 1:单用户字符界面。
l 2:不具备网络文件系统(NFS)功能的多用户字符界面。
l 3:具有网络功能的多用户字符界面。
l 4:保留不用。
l 5:具有网络功能的图形用户界面。
l 6:重新启动系统。
3.action
init有如下几种行为,如表4-1所示。
表4-1 init行为
行 为
描 述
respawn
启动并监视第4项指定的process,
若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
ctrlaltdel
当用户按下【Ctrl+Alt+Del】时执行的操作
kbrequest
当用户按下特殊的组合键时执行第4项指
定的process,此组合键需在keymaps文件定义
- Linux的第一个进程:init(1)
- linux第一个用户进程init--sysvinit
- linux第一个用户进程init--upstart
- linux第一个用户进程init--systemd
- 第一个init进程
- pmap 分析 嵌入式linux第一个进程 init 的内存占用
- android第一个用户进程Init进程
- rootfs中第一个程序init进程分析
- Linux启动(init进程)
- Linux下1号进程的前世(kernel_init)今生(init进程)----Linux进程的管理与调度(六)
- Linux进程的管理与调度(六) -- Linux下1号进程的前世(kernel_init)今生(init进程)
- 浅析kernel启动的第1个用户进程init如何解读init.rc脚本
- 浅析kernel启动的第1个用户进程init如何解读init.rc脚本
- linux启动第一个应用程序init && init启动android过程解析 && init.rc与inittab的关系 && android property和linux 环境变量
- 第1个用户进程init和init.rc脚本
- init进程(即进程1)的详解
- 嵌入式linux开发之我见-第一章 linux内核启动之后的第一件事—— init进程
- Linux首进程init的简单说明
- camera摄像原理之四:曝光和GAMMA
- Java获取系统信息(cpu,内存,硬盘,进程等)的相关方法
- 乱起八糟
- 用多线程同步方法解决生产者-消费者问题。
- JS正则表达式详解
- Linux的第一个进程:init(1)
- BEA原文档迁移地址
- 夏日提醒:天热必须要做两件事
- WinCE虚拟串口驱动(一)
- sql
- 理财
- task_struct结构体
- 实用技巧:Linux系统下文件权限设置方法
- WinCE虚拟串口驱动(二)