1. daemon 和 service
系统为了实现某些功能,必须提供一些服务(service),但是service的提供总是需要进程的运行,实现service 的程序我们称为daemon(“守护神”,"恶魔").
1.1用chkconfig查看当前开启的服务:
a: 先用runlevel查看当前的运行等级
b: 用chkconfig查看当前运行等级下开启的服务
1.2 用ntsysv查看并设置当前运行级别的服务
2.daemon的分类
2.1 stand_alone: 此类型daemon可以自行单独启动服务,而不需要通过其他的机制进行管理. 一直存在内存中,持续提供服务,响应速度快。
2.2 super_daemon: 一个特殊的daemon来统一管理。 用于管理其他daemon的daemon称为super daemon。 我用的centos mini的super daemon是xinetd.
如果没有xinetd 可以通过yum install xinetd 安装.
当有来自客户端的请求的时候才开启响应的服务。 当请求结束后,被唤醒的这个服务也会关闭并释放资源. 而且具有安全管理机制。 但是反应速度上会慢一些。
3. daemon的操作
centos中的daemon的启动脚本基本上放置在这些地方:
/etc/init.d/* : 系统几乎所有的服务启动脚本都放在这里。
/etc/sysconfig/* : 各个服务的初始化环境配置文件. 例如网络的设置写在 /etc/sysconfig/network 中.
/etc/xinetd.d/* , /etc/xinetd.conf : super daemon 的配置文件
3.1 stand alone daemon启动
3.1.1: stand alone 的 /etc/init.d/* 启动
3.1.2: stand alone 的 service 启动方法
3.2 super daemon的启动
super daemon 本身就是一个stand alone的服务,因为super daemon要常驻内存,管理其他的服务。因此,super daemon的启动方式和其它的stand alone的启动是一样的。 但是它所管理的daemon就不能这样做了,需要在配置文件中设置为启动该daemon,这些配置文件就是/etc/xinetd.d/*的所有文件。
查看是否允许super daemon所管理的daemon启动:
disable=yes表示取消此服务的启动。
例如,如果想启动telnet , 就直接修改/etc/xinetd.d/telnet 文件中的disable=no. 然后重启xinetd这个super daemon. telnet 所占用的端口号是23
需要注意的是,开启23号端口的服务不是telnet,而是xinetd,因为它要控制telnet.