我们在
第十六章
就曾经谈过『服务』这东西!
当时的说明是『常驻在记体体中的程序,且可以提供
一些系统或网络功能,那就是服务』。而服务一般的英文说法是『
service
』。
但如果你常常上网去查看一些数据的话,尤其是
Unix-Like
的相关操作系统,应该常常看到『请启
动某某
daemon
来提供某某功能』,唔!那么
daemon
service
有关啰?否则为什么都能够提供
某些系统或网络功能?此外,这个
daemon
是什么东西呀?
daemon
的字面上的意思就是『守护神、
恶魔?』还真是有点奇怪呦!
^_^""
简单的说,系统为了某些功能必须要提供一些服务
(
不论是系统本身还是网络方面
)
,这个服务就称
service
但是
service
的提供总是需要程序的运作吧!否则如何执行呢?所以达成这个
service
的程序我们就称呼他为
daemon
啰!
举例来说,达成循环型例行性工作排程服务
(service)
的程序
crond
这个
daemon
啦!这样说比½容易理½了吧!
Tips
你不必去区分什么是
daemon
service
!事实上,你可以½这两者视为相同!因为
达成某个服务是需要一支
daemon
在背景中运作,
没有这支
daemon
就不会有
service
!所以不需要分的太清楚
啦!
一般来说,当我们以文本模式或图形模式
(
非单人维护模式
)
完整开机½入
Linux
主机后,
系统已
经提供我们很多的服务了!包括打印服务、工作排程服务、邮件管理服务等等;
那么这些服务是如
何被启动的?他们的工作型态如何?底下我们就来谈一谈啰!
Tips
daemon
既然是一只程序执行后的程序,那么
daemon
所处的那个原本的程序通常是如
何命名的呢
(daemon
程序的命名方式
)
每一个服务的开发者,当初在开发他们的服务时,都有特别的故事啦!不
过,无论如何,这些服务的名称被½立之后,被挂上
Linux
使用时,通常在服务的名称之后会加上一个
d
,例如
例行性命令的½立的
at,
cron
这两个服务,
他的程序文件名会被取为
atd
crond
,这个
d
代表的就是
daemon
的意思。所以,在
第十六章
中,我们使用了
ps
top
来观察程序时,都会发现到很多的
{xxx}d
的程序,
呵呵!通常那就是一些
daemon
的程序啰!
17.1.1
早期
System V
init
管理行为中
daemon
的主要分类
(Optional)
还记得我们在
第一章
谈到过
Unix
system V
版本吧?那个很纯种的
Unix
版本~
在那种年代底
下,我们启动系统服务的管理方式被称为
SysV
init
½本程序的处理方式!亦即系统核心第一支
呼½的程序是
init
然后
init
去唤起所有的系统所需要的服务,不论是本地服务还是网络服务就
是了。
基本上
init
的管理机制有几个特色如下: