Linux系统管理白皮书 (22).pdf

Linux系统管理白皮书 (22).pdf

ID:52243715

大小:109.69 KB

页数:4页

时间:2020-03-25

Linux系统管理白皮书 (22).pdf_第1页
Linux系统管理白皮书 (22).pdf_第2页
Linux系统管理白皮书 (22).pdf_第3页
Linux系统管理白皮书 (22).pdf_第4页
资源描述:

《Linux系统管理白皮书 (22).pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、下载第6章init本章的主题是init进程,它是一个由内核启动的用户级进程。init有许多重要的职责,比如启动getty(以便用户能够登录),实施运行级和照顾孤儿进程等。本章将讨论如何配置init,如何利用不同的运行级。6.1init的重要作用init是Linux系统操作中绝不可少的程序之一,但你大多数时间都可以忽略它。一个编得好的Linux系统中,都会附带适用于多数系统的init,而且在这些系统上,根本不用为init操心。通常,只有在你挂上串行终端、拨入(注意非拨出)modem或打算更改默认的运行级时,

2、才有必要去关心init。内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成了自己的引导进程。所以,init始终是第一个进程(其进程编号始终为1)。内核会在过去曾使用过init的几个地方查找它,但它的正确位置(对Linux系统来说)是/sbin/init。如果内核找不到init,它就会试着运行/bin/sh,如果运行失败,系统的启动也会失败。init启动时,先执行大量的管理任务,比如检查文件系统,清除/tmp,启动各种服务以及

3、针对用户将能够登录的每台终端和虚拟控制台,启动getty(有关详情,参见第7章),完成启动进程。系统正常启动之后,init在用户已经注销登录后,针对每个终端重新启动getty(以便下一名用户的登录)。init还收养“孤儿”(独立的)进程:进程启动一个子进程并先其子进程死掉,这个子进程立即就成了init的子进程。由于各种技术方面的原因,这一点相当重要,因为它有助于我们进一步了解进程列表和进程树图表(init本身是不能死的。即使用SIGKILL也不能杀死它)。有几个init的变体是可以用的。许多Linux版本

4、都采用sysvinit(MiquelvanSmoorenburg编写的),这个程序基于SystemVinit设计。Unix的BSD版本中另有一个init。两者间的主要区别在于运行级:SystemV有运行级,BSD则没有(至少过去没有)。这点区别不太重要。我们下面只谈谈sysvinit。6.2通过init启动getty:/etc/inittab文件系统启动时,init开始读取/etc/inittab配置文件。系统运行期间,如果系统发出一个HUP信号“kill-HUP1asroot”,它将再次读取这个配置文件

5、。这个特性令其不必要启动系统,更改init配置。/etc/inittab文件有点复杂。我们将从配置几个简单的getty行开始。位于/etc/inittab的这些行由四个用冒号定界的字段组成:id:runlevels:action:process第6章init233下载下面是对这四个字段的说明。此外,/etc/inittab中可包含空行和以“#”号开头的行;这些行是可被忽略。1.id这个字段定义文件内的行。对getty行来说,它指定的是它运行的终端(设备文件名内/dev/tty后面的字符)。对其他行来说,它

6、没什么作用(只是一个长度限制),但它应该是独一无二的。2.runlevels应该为代码行考虑运行级别。运行级别应该以单一的数位来指定,不带定界符(关于运行级别的详情,参见下一小节)。3.action代码行应该采取的行动,例如respawn用于在退出时,再次运行下一个字段中的命令。4.process准备运行的命令。为了在第一个虚拟终端上启动getty(/dev/tty1}),所有普通多用户运行级别(2~5)内,都应该写入这样一行:1:2345:respawn:/sbin/getty9600tty1第一个字段

7、指这一行用于/dev/tty1。第二个字段指该行的运行级别是2、3、4、5。第三个字段是说这个命令应该在其退出之后,再执行一次(以便另外的用户能够登录、注销,然后再次登录)。最后一个字段是命令,这个命令将在第一个虚拟终端上运行getty(不同版本的getty的运行是不一样的。查看你的手册页并保证其是完全正确的)。如果你想在系统中增添终端或拨入modem,最好在/etc/inittab内多增添几行,一行对应一个终端或一条拨入线路。关于这方面的详情,可参考init、inittab和getty手册页。如果命令在

8、启动时就失败了,而且init被配置为重启,它就会使用大量的系统资源:init启动它,不行,再重启,再不行,再重启,如此“纠缠不休”,最后耗完所有的系统资源为止。为了防止出现这种情况,init将对重启命令的频率进行跟踪,如果频率过快,它将在重启之前,延迟5min。6.3运行级别运行级别是指init和整个系统的状态,该系统定义了对哪些系统服务进行操作。运行级别是按照编号来识别的,如表6-1所示。表6-1运行级别号0使系统停止1单用

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。