1、 Service就是指常驻内存大一些程序,且可以提供一些系统或是网络功能。提供service的那个程序就成为daemon。Daemon和service可以视为等同,不必刻意去区分。

2、 Daemon可以分为两类,一类是可独立启动的,成为stand alone;另一类是通过一支super daemon来统一管理的服务。

3、 Stand alone类型的daemon能够自动启动,常驻内存,对请求响应较快,如httpd、vsftpd等。

4、 Super daemon统一管理的是用户有请求,super daemon就唤醒响应daemon,如果用户请求结束,就kill掉该daemon。优点不用常驻内存,缺点装到内存需要时间。如telnet。这个super daemon早期是inetd,后来被xinetd取代。

5、 Super daemon与stand alone daemon的形象比喻:stand alone就像银行的专用窗口,某些窗口专门负责取钱,某些窗口专门负责兑换外币;super daemon就是一个综合性窗口,什么业务都受理。

6、 Linux中,daemon的命名规则通常是在所提供的服务名后面加d,如httpd。

7、 /etc/services文件中记录了service与port的对应关系。是网络服务文件,使用服务名称、端口名、协议名、以及别名来表示。

8、 Linux的端口号范围为0~65535:0,不适用;1-1023系统保留只能由root使用;1024-4999,客户端程序自由分配,5000-65535服务器端程序自由分配。

9、 一般的启动与关闭daemon都是写成一个shell script来完成。

10、系统服务启动的script几乎全是放到/etc/init.d/目录下。CentOS实际上放到/etc/rc.d/init.d/中的,但是跟/etc/init.d/下一样,做了链接。

11、几乎所有服务的初始化设定文档都是放在/etc/sysconfig/目录下,网络的初始化配置卸载/etc/sysconfig/network这个文件中。

12、Super daemon的主要设定档写在/etc/xinetd.conf,它所管理的其它的daemon的设定档卸载/etc/xinetd.d/目录下。

13、各服务的设定档都是放在/etc/目录下。

14、/var/lib/放的都是各服务产生的数据。

15、/var/run/放的是各服务的程序之PID记录处。

16、  
 

17、 除了16中所描述的使用/etc/init.d/目录下的shell script来管理服务,启动关闭daemon以外,可以使用service这个script(可以直接查看/sbin/service这个文件,纯文本写成的script)来管理daemon,service这个script可以分析     service后面的参数,到/etc/init.d/下去取得正确的服务来start或stop。如下:

    
 

 

18、 Super daemon本身也是一支stand alone的daemon。