Chinaunix首页 | 论坛 | 博客

分类: LINUX

2009-02-16 14:18:00

  系统的 Daemons 放在哪里:
  我们说过, daemon 其实是一支可以在背景执行的程式,这个程式可以负责系统的某个服务。 而既然要负责某个服务,当然啰,就需要有所谓的设定档啰~而为了让使用者可以很轻易的启动该服务, 因此各主要的 Linux distributions 都会替他们的系统进行较有亲和力的启动 daemon 的方式, 那就是利用 shell script 啦!这也是为何我们会在第三篇的时候建议您务必要学习 shell script 的原因啊!

  举个例子来说,在 FC4 上面管理系统登录档的服务为 syslogd 这个 daemon, 那么你如何启动这个 daemon 呢?可以查询一下 man 8 syslogd 来看看到底他需要如何被启动。 想必看的结果是‘很烦ㄟ!’干嘛要这样启动啊!真是麻烦~ 此时,启动 syslogd 这个 daemon 的 shell script (/etc/init.d/syslog) 就帮上忙了! 你只要‘ /etc/init.d/syslog restart ’就能够重新启动 syslogd 呢! 真是很方便啊!而该 shell script 就会主动的去读取相关的设定档,好让我们的设定生效啊!^_^

  OK!那么这些 daemons 的 shell scripts 放在哪里啊?他们放置的地方依据 stand alone 与 super daemon 的差异而有所不同,基本上,是放在这些地方:

  * stand alone:
  这个放置在 /etc/init.d/ 这个目录里面,几乎所有的 RPM 安装的套件之启动 scripts 都在这里啦!不过,实际上,我们的 FC4 是放置到 /etc/rc.d/init.d/* , 但你依旧可以记忆成 /etc/init.d ,因为所有的 unix like 机器都有这个目录!

  * super daemon:
  这个工作的那一支服务其实就是 xinet 或者是 inet 啦!请注意, xinet 也是一个 daemon 呢!他是 stand alone 启动的,也就是他会一直在监听大家的需求,所以 xinet 的启动 scripts 写在 /etc/init.d/xinetd 这个 scripts 里面啰!但是挂在这个 daemon 里头的服务之设定项目呢?嗯!就是写在 /etc/xinetd.conf 与 /etc/xinetd.d/* 这个目录里面的任何档案!

  更详细的来说明每个目录底下的设定的话,总的来说,是这样的:

  # /etc/init.d/*
  OK!先来瞭解一下 stand alone 的 daemon 是怎么启动的呢?!很简单,假如我们要启动 syslog 这支记录登录档的服务,那么要启动他的话,就直接下达:

  [root@linux ~]# /etc/init.d/syslog start
  [root@linux ~]# servcie syslog start

  那个 service 是一支程式,基本上,也只是用来启动 /etc/init.d/ 底下的 shell script 而已~至于指令或者是档案后面接的参数,亦即是档名之后加上 start 即可,或者是使用 Red Hat 系统有的这个 service script 来进行启动的功能!如果你还记得我们前几节提到过的 shell scripts 的话,那么或许还记得 case ..... esac 这个有选择性的项目的语法吧!?没错!这几支服务就是以 bash scripts 里头的 case 语法写成的!因此,只要加上后面的参数,如此一来, scripts 就会自动的去找寻执行档来执行啰!如果有兴趣的话, 可以在你的系统里面的该目录下开一个档案来观看一下,就知道如何写啰!

  # /etc/xinetd.conf
  这个档案就是设定 xinet 服务的参数档案啦!

  # /etc/xinetd.d/*
  这个目录里面的所有档案就是个别挂上 xinet 的所有服务啦!例如赫赫有名的 wu-ftpd 及 telnet 与 pop3 等等!

阅读(2871) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~