一、Daemon 按Service启动分类为:Stand alone和Super Daemon
1.1Stand alone:
1.1.1服务的启动方式:可自行单独启动Service,而不需要其他机制的管理,
1.1.2服务启动并加载到内存后,就一直占用内存及系统资源,
1.1.3优点:响应速度快(因为一直占用内存,在内存内,持续的提供服务)
1.1.4列如:httpd、vsftpd、
1.2Super Daemon:常驻内存中;提供IP来源、时间、连线的管制;触发Service,导向Client的Request到Daemon1。。。;移除Daemon1。。。并结束连线。
1.2.1服务的启动方式:由这个Super Daemon统一启动和管理Service
1.2.2早期的为inetd——后来被Xinetd取代
1.2.3机制:
1)当没有Client Request时,各Service都是Stop的;
2)当等到有Client Request时,Super Daemon唤醒相对应的Service;
3)当Client Request 结束后,被唤醒的Service也会被Close并Release System Resource
1.2.4优点:
1)具有安全管控机制:因为Super Daemon负责唤醒各项服务,类似于网络防火墙的功能;
2)不会一直占用System Resource:因为Client Request结束后,Service 就Close了;
1.2.5缺点:
响应速度比Stand alone慢:Service的start由客户端的Request唤醒的,再由Super Daemon统一管理来触发并加载到内存需要一丁点时间;
1.2.6例如:telnet Service由Super Daemon统一管理
Super daemon 的运行示意图
二、Daemon按工作形态分类为:Single-Control和Multi-Control
2.1Single-Control:
只要有任何Client Request,就马上启动处理
例如:cupsd(打印机的服务)
2.2interval-Control:
每隔一段时间就去主动地运行某项工作
你要做的是:在配置文件中配置服务要进行的时间与工作
例如:atd和crond(每分钟侦测一次配置文件)
三、Daemon的命名规则:程序名(程序文件名+d)
ps和top来观察运行的Daemon程序
四、Service&Port:配置的文件为/etc/servcies
IP地址(三层,用作路由)就相当于:你家门前的路名(网络部分)+门牌号(主机部分)
网络当中路由(选路)的时候,就要用到路名了,而不会关心门牌号了
Port就相当于:你家的几层楼
MAC(Media Access Control,二层,通过ARP协议)地址就相当于:你家这幢楼房或私房的地基号(就如房产证或农村土地征上都有写明的(几乎是唯一的且不会变的,有木有?)
五、Daemon的启动方式与启动脚本(Shell Script),配置文件
通常,Distribution都会记录每一个Daemon启动的PID–到/var/run/目录下
每个Daemon启动时需要配置文件,运行环境和运行档
通常,Distribution会给我们一个简单的启动脚本Shell Script来进行启动的功能:
启动脚本文件的路径:/etc/init.d/ 实际文件是存放在/etc/rc.d/init.d/,因为init.d/下大都是symlinks(symbolic links 符号连接)文件
服务初始化环境配置文件的路径:/etc/sysconfig/
各服务各自的配置文件的路径:/etc/ #大家的配置文件都是放置在 /etc/ 底下的
SuperDaemon配置文件:/etc/xinetd.d/和/etc/xinetd.conf
/etc/xinetd.d/ #Super Daemon的主要配置文件(也是Super Daemon的默认配置文件)
/etc/xinetd.conf #Super Daemon所管理的其他Daemon的配置则写在这里头,应为Super Daemon(只是是一个统一管理的机制)是个大管家
各服务产生的数据库:/var/lib/ #一些会产生数据的服务都会将他的数据写入到/var/lib目录中,例如:数据库管理系统MySQL的数据库默认就是写入/var/lib/mysql/下