init和/etc/inittab
2010-08-23 14:31
302 查看
init的手册页指出"init是所有进程之父"。它的主要任务是根据存储于/etc/inittab中的脚本创建进程。当装入内核之后,许多Linux启动进程的方式来源于另一个UNIX系统的SystemV。事实上,Linux的init命令与SystemV的init命令是兼容的,并且启动脚本也模仿SystemV的init的方式,虽然init作为"引导内核的最后一步",但它却是进行初始化和配置的第一个命令,通过从控制台或X终端窗口的命令行使用pstree命令可以查看该进程。
pstree命令用ASCII字符显示树状结构,清晰地表达了程序间的相互关系。如果不指定程序识别码或用户名称,则会把系统启动时的第一个程序视为基层,并显示之后的所有程序;若指定用户名称,便会以隶属该用户的第一个程序当作基层,然后显示该用户的所有程序。
主要参数:
- -a:显示每个程序的完整指令,包含路径、参数或常驻服务的标志。
- -c:不使用精简标志。
- -G:使用VT100终端机的列绘图字符。
- -h:列出树状图时,特别标明现在执行的程序。
- -H<程序识别码>:此参数的效果和指定"-h"参数类似,但特别标明指定的程序。
- -l:采用长列格式显示树状图。
- -n:用程序识别码排序,默认是以程序名称来排序。
- -p:显示程序识别码。
- -u:显示用户名称。
- -U:使用UTF-8列绘图字符。
- -V:显示版本信息。
在命令行输入"pstree -l",如图4-3所示。
可以看到init是系统的第一个进程,所有子进程的父进程。init通过解析/etc/inittab并参照默认或设定的运行级运行/etc/rc.d中的脚本。每个脚本可以启动或终止一个诸如网络、邮件、新闻或Web的服务。
图4-3 pstree命令输出
pstree命令用ASCII字符显示树状结构,清晰地表达了程序间的相互关系。如果不指定程序识别码或用户名称,则会把系统启动时的第一个程序视为基层,并显示之后的所有程序;若指定用户名称,便会以隶属该用户的第一个程序当作基层,然后显示该用户的所有程序。
主要参数:
- -a:显示每个程序的完整指令,包含路径、参数或常驻服务的标志。
- -c:不使用精简标志。
- -G:使用VT100终端机的列绘图字符。
- -h:列出树状图时,特别标明现在执行的程序。
- -H<程序识别码>:此参数的效果和指定"-h"参数类似,但特别标明指定的程序。
- -l:采用长列格式显示树状图。
- -n:用程序识别码排序,默认是以程序名称来排序。
- -p:显示程序识别码。
- -u:显示用户名称。
- -U:使用UTF-8列绘图字符。
- -V:显示版本信息。
在命令行输入"pstree -l",如图4-3所示。
可以看到init是系统的第一个进程,所有子进程的父进程。init通过解析/etc/inittab并参照默认或设定的运行级运行/etc/rc.d中的脚本。每个脚本可以启动或终止一个诸如网络、邮件、新闻或Web的服务。
图4-3 pstree命令输出
相关文章推荐
- /etc/inittab,/etc/init.d/rcS和/etc/profile分析
- Linux的/etc/inittab文件中init级别设置成6(重启)或者不支持级别的解决方法
- 对 /etc/rc.d/init.d 目录的一点理解
- linux中/etc/init.d的作用
- Linux文件目录/etc/init和/etc/init.d的前世今生
- 添加/system/etc/init.d脚本支持
- Linux /etc/rc.d 下面 rc${runlevel}.d rc.local init.d 区别
- SuSE下chkconfig的启动脚本参考例子"/etc/init.d/skeleton”
- /etc/rc.d/init.d内容分析
- /etc/init.d/rcS文件内容
- ubuntu为什么没有/etc/inittab文件? 深究ubuntu的启动流程分析
- (OK) [android-x86-6.0-rc1] /system/etc/init.sh
- 系统运行级别 /etc/inittab 分析
- linux 启动过程以及 /etc/rc.d/init.d/目录的一点理解
- /etc/inittab 配置文件
- /etc/rc.d/init.d/functions文件详细分析
- cat /etc/init.d/httpd
- env: /etc/init.d/nginx: 没有那个文件或目录
- etc配置文件解读——inittab
- /etc/rc.local ; /etc/init.d ;/etc/profile;/etc/bashrc;~/.bash_profile;~/.bashrc;~/.bash_logout