daemon与service

daemon也是一段程序(program),不过它运行后是常驻在内存中的,daemon所提供的系统或网络功能就叫service。

daemon根据运行方式可以分为两种:stand alone和super daemon。stand alone可以独立的运行,不依赖于其他的程序。而super daemon需要通过一个叫做super daemon的程序来启动它。当然,super daemon本身也是一个stand alone daemon,这样它才能启动其他的daemon。stand alone是常驻内存的,所以当需要它的服务时,可以马上得到服务。常见的stand alone daemon有提供www服务的httpd,提供ftp服务的vsftpd(名字后的d就表示这个进程是一个daemon服务,这时约定俗成的)。super daemon并不是常驻内存的,当需要它的时候,才由super daemon这个daemon来启动它,完成服务又停止了。好处是可以对这些daemon实施一些策略控制,如防火墙,而且可以动态的占用内存资源,缺点就是速度比较慢。典型的有提供打印服务的cupsd


daemon根据工作方式可以分为signal control和interval control。signal control需要一个事件来触发它提供服务,如httpd需要接收到client的请求来触发。interval control daemon则会自己周期性的去检查是否需要提供服务,如定时任务atd和crond


daemon相关的文件


/etc/rc.d/init.d/* 或/etc/init.d/*

这个目录下存放这daemon程序的启动文件,执行某个服务的文件,就可以启动某项服务,如

[root@yang-centos init.d]# /etc/init.d/crond start
[root@yang-centos init.d]# /etc/init.d/crond status
crond (pid  6123) is running...

或者用service命令,如:

[root@yang-centos ~]# service crond status
crond (pid  6123) is running...


/etc/xinetd.d/*

这个目录下存放super daemon的启动和配置文件

由于super daemon需要super daemon来启动,所以需要先启动super daemon

安装:yum install xinetd
[root@yang-centos init.d]# ./xinetd status
xinetd is stopped
[root@yang-centos init.d]# ./xinetd start
Starting xinetd:                                           [  OK  ]
[root@yang-centos init.d]#

[root@yang-centos xinetd.d]# cat rsync
# default: off
# description: The rsync server is a good addition to an ftp server, as it \
#    allows crc checksumming etc.
service rsync
{
    disable    = yes
    flags        = IPv6
    socket_type     = stream
    wait            = no
    user            = root
    server          = /usr/bin/rsync
    server_args     = --daemon
    log_on_failure  += USERID
}
[root@yang-centos xinetd.d]# vim ./rsync
[root@yang-centos xinetd.d]# cat ./rsync
# default: off
# description: The rsync server is a good addition to an ftp server, as it \
#    allows crc checksumming etc.
service rsync
{
    disable    =no
    flags        = IPv6
    socket_type     = stream
    wait            = no
    user            = root
    server          = /usr/bin/rsync
    server_args     = --daemon
    log_on_failure  += USERID
}
[root@yang-centos xinetd.d]# /etc/init.d/xinetd restart
Stopping xinetd:                                           [  OK  ]
Starting xinetd:                                           [  OK  ]
[root@yang-centos xinetd.d]#

/etc/xinetd.conf

super daemon的默认配置文件,如果super daemon的某个配置项没有配置,则取这个文件中的值


/var/lib/*

daemon产生的数据库

/etc/services

daemon与端口号的对应关系

/var/run/*

daemon与pid的对应关系


用ps top netstat命令可以查看名字和pid的对应关系


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值