Chinaunix首页 | 论坛 | 博客

TS

  • 博客访问: 218474
  • 博文数量: 67
  • 博客积分: 2335
  • 博客等级: 大尉
  • 技术积分: 682
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-18 14:59
文章分类

全部博文(67)

文章存档

2017年(1)

2016年(1)

2014年(1)

2013年(3)

2012年(3)

2011年(8)

2010年(24)

2009年(13)

2008年(6)

2007年(7)

我的朋友

分类: LINUX

2009-02-07 15:51:15

守护进程工作原理和方式

在Client/Server模式下。服务器监听(Listen)在一个特定的端口上等待客户连接。连接成功

后服务器和客户端通过端口进行数据通信。守护进程的工作就是打开一个端口,并且等待

(Listen)进入连接。如果客户端产生一个连接请求,守护进程就创建(Fork)一个子服务器响

应这个连接,而主服务器继续监听其他的服务请求。

守护进程工作方式:

(1)运行独立的守护进程

独立运行的守护进程由init脚本负责管理,所有独立运行的守护进程的脚本

在/etc/rc.d/init.d/目录下。系统服务都是独立运行的守护进程包括:syslogd和cron等。运行

独立的守护进程工作方式称作:stand-alone。它Unix传统的C/S模式的访问模式。服务器监听

(Listen)在一个特点的端口上等待客户端的联机。如果客户端产生一个连接请求,守护进程就

创建(Fork)一个子服务器响应这个连接,而主服务器继续监听。以保持多个子服务器池等待下

一个客户端请求。工作在stand-alone模式下的网络服务有route、gated。另外是大家最熟悉是

Web服务器:Apache和邮件服务器 Sendmail、域名服务器Bind。因为这些负载很大服务器上,预

先创子服务器,可以通过客户的服务速度。在Linux系统中通过stand- alone工作模式启动的服

务由/etc/rc.d/下面对应的运行级别当中的符号链接启动。

(2)xinetd模式

从守护进程的概念可以看出,对于系统所要通过的每一种服务,都必须运行一个监听某个端口连

接所发生的守护进程,这通常意味着资源浪费。为了解决这个问题,Linux引进了“网络守护进

程服务程序”的概念。Redhat Linux 9.0使用的网络守护进程是xinted(eXtended InterNET

daemon)。和stand-alone模式相比xinted模式也称 Internet Super-Server(超级服务器)

。xinetd能够同时监听多个指定的端口,在接受用户请求时,他能够根据用户请求的端口不同,

启动不同的网络服务进程来处理这些用户请求。可以把xinetd看做一个管理启动服务的管理服务

器,它决定把一个客户请求交给那个程序处理,然后启动相应的守护进程。

和stand-alone工作模式相比,系统不想要每一个网络服务进程都监听其服务端口。运行单个

xinetd就可以同时监听所有服务端口,这样就降低了系统开销,保护系统资源。但是对于访问量

大、经常出现并发访问时,xinetd想要频繁启动对应的网络服务进程,反而会导致系统性能下降

。察看系统为Linux服务提供那种模式方法在Linux命令行可以使用pstree命令可以看到两种不同

方式启动的网络服务。一般来说系统一些负载高的服务: sendmail、Apache服务是单独启动的

。而其他服务类型都可以使用xinetd超级服务器管理。查看目前运行的守护进程可以使用命令:

pstree

阅读(1742) | 评论(0) | 转发(0) |
0

上一篇: Samba 中文手册收藏

下一篇:关于shell编程

给主人留下些什么吧!~~