一,什么是daemons:
即我们常说的“守护进程”。
基本上,我们的 Linux 主机常常会收到一些要求,不论是来自本机系统的要求或者是网路Client 端的服务求,反正只要有要求来的时候,通常就是各式各样的 daemons 负责去唤起应该要工作的 Servers 来工作。daemons 目前有两种基本的模式,分别是 stand_alone 与 super daemon 。
stand_alone : 就字面上的意思来说,stand alone 就是『独立的启动』的意思,也就是说,该 daemon 启动之后,就直接常驻在记忆体当中。他虽然会一直的占用系统的资源,但最大的优点就是,他会一直启动。所以当有要求来的时候,他就会很快速的回应。常常用在这一种 daemon 的网络服务如常见的 httpd,xinetd 。
super daemon : 相对于 stand alone 的执行方式,这一种服务的启动方式则是藉由统一的一个 daemon 来负责唤起该服务!这一个统一负责的 daemon 就是 inet (他是stand_alone类型的daemon)这个服务啦!而在 Red Hat 7.x 以后则是使用 xinet 这个daemon。当有网络的服务要求来的时候,该要求会先送给 inet 这个服务,然后 inet 根据该网路要求送来的资料封包的内容 ( 该内容会记录 IP 与 port ) 来将资料封包送给实际运作的服务!而该服务这个时候才会启动的!最常见到的就是 ftp 这支网路服务啦!这种最大的优点就是当没有资料封包来的时候,该服务不会一直占据系统资源 ( 该服务会在 sleeping 的状态 ) ,但是相对的,他的反应时间也会比较慢,因为还要花费一段时间去『唤醒』该服务。telnet服务就是典型的super类型的daemon,它由xinetd调度。
二,Linux(以RedHat Linux9.0为例)下网络服务相关的文件夹
stand_alone类型的daemon放在 /etc/rc.d/init.d/ 下
super 类型的daemon放在 /etc/xinetd.d/ 下。
三,使用方式
stand类型的启动有两种方法:
1,/etc/rc.d/init.d/httpd start 又如 /etc/rc.d/init.d/xinetd start
2,service httpd start 又如 service xinetd start
alone类型的启动要在/etc/xinetd.d/下改相应服务的配置文件,是disable字段为no,再重新启动xinet服务
如要启动telnet服务,修改/etc/xinetd.d/telnet文件中的disable字段值为no,再重新启动xinet