daemon服务
系统为了某些功能必须要提供一些服务,这个服务称为service。但service的提供总是需要进程的运行,所以实现这个service的程序我们就称为daemon。举例来说,实现循环型例行性工作调度服务的程序为crond这个daemon。
daemon的主要分类
stand_alone:此daemon可以自行单独启动服务
这种类型的daemon可以自行启动而不必通过其他机制的管理,它的特点是常驻内存,因此对于发生客户端的请求,其响应速度较快,常见的stand_alone服务有httpd,vsftpd等。
super daemon:一个特殊的daemon来统一管理
这一种服务的启动方式是通过一个统一的daemon来负责唤起服务,这个特殊的daemon就被称为super daemon。它的特点是当没有客户端请求时,各项服务都是未启动的状态,等到有客户端请求时,super daemon才唤醒相对应的服务,当客户端请求过后,被唤醒的服务也会关闭并释放系统资源。
这种机制的好处是:(1)由于super daemon由daemon唤醒,可以有一个较为安全的管控机制。(2)由于在客户端连接后就关闭,因此不会一直占用系统资源。缺点在于:由于不是常驻内存,因此响应速度较慢。
daemon的工作形态类型
signal-control
只要有客户端请求,就会立即启动处理。
interval-control
每隔一段时间就会主动去执行某工作。
服务与端口的对应
查看方法:cat /etc/services
daemon的启动脚本与启动方式
/etc/init.d/*:启动脚本放置处
系统上几乎所有的服务启动脚本都放置在这里。
/etc/sysconfig/*:各服务的初始化环境配置文件
几乎所有的服务都会将初始化的一些参数设置写入到这个目录下
/var/run/*:各服务的程序PID记录处
service [service name] (start|stop|restart|...) 修改各服务的状态
service --status-all 列出所有服务的状态
设置开机后立即启动服务的方法
先来了解一下Linux的开机过程
1、打开计算机电源,开始读取BIOS并进行主机的自我测试。
2、通过BIOS取得第一个可开机设备,读取主要开机区(MBR)取得启动装载程序。
3、通过启动装载程序的设置,取得kernel并加载内存且检测系统硬件。
4、内核主动调用init进程。
5、init进程开始执行系统初始化(/etc/rc.d/rc.sysinit)。
6、依据Init的设置进行deamonstart(/etc/rc.d/rc[0-6].d/*)
7、加载本机设置。
网友评论