系统提供的服务称为service,而service需要进程的运行,完成某个service功能的进程称为daemon
按照启动与管理方式,daemon可以分为:
1. stand alone:可以自行单独启动
这类daemon可以自行启动而不必通过其他机制进行管理,启动后会加载到内存中一直占用内存和系统资源,优点是持续提供服务,对客户端请求的响应速度快
2. super daemon:由一支特殊的daemon统一管理
这类daemon是通过一个统一的super daemon进行启动和管理(super daemon其实本身也是一个stand alone服务)。当客户端没有请求时服务不启动;请求到来后服务启动,结束后服务被关闭。缺点是服务的反应时间比较慢,优点有:(1)通过super daemon进行管理,而super daemon具有安全控管机制,类似网络防火墙;(2)服务在结束后释放系统资源
super daemon的处理方式有两种:(1)multi-threaded(多线程):一个服务同时负责好几个进程;(2)single-threaded(单线程):一个服务负责一个进程,完成后才进行下一个
按照daemon提供的工作状态,可分为:
1. signal-control:通过信号进行管理,只要客户端有请求就会立即处理
2. interval-control:每隔一段时间主动地去执行某项工作,如atd和crond
当客户端联接到主机时,通过端口号(port number)来分辨不同的服务,在/etc/services中可以查询到端口号的设置
daemon相关档案的位置:
/etc/init.d/*:放置启动脚本,系统上几乎所有的服务启动脚本都在这里
(直接运行/etc/init.d/下的某个文件会显示该指令可用的参数)
/etc/xinetd.conf:super daemon配置文件
/etc/xinetd.d/*:super daemon所管理的其他daemon的规则的放置处