daemon与服务service
服务:常驻在内存中,可以提供一些系统或网络功能,那就是服务。service
实现服务的程序 就是 daemon
( 一般可以不区分 daemon 与 service , 因为任何一个 service 都需要 daemon的支持。)
stand_alone : 自行启动的 daemon : 例如 http 等
supper daemon : 启动方式是由一个统一的 daemon来负责唤起服务,这个特殊的daemon 就是 super daemon。这种机制比较有趣的地方在于,当没有客户端的要求时,各项服务都是未启动的情况,等到有来自客户端的要求时,super daemon才唤醒相对应的服务。当客户端的要求结束后,被唤醒的这个服务也会关闭并释放系统资源。例如 telnet 。
supper daemon :
- multi-threded(多线程)
- single-threaded(单个线程)
通常在服务的名称之后会加上一个d, 例如 atd , crond 这个d 就代表 daemon
服务要与 port 端口对应。
cat /etc/services ( 可以查看daemon 与 port 的对应关系,已经启动的 )
/etc/init.d/* 启动脚本放置处
/etc/sysconfig/* 各服务的初始化环境配置文件
/etc/xinetd.conf, /etc/xinetd.d/* super daemon配置文件
/etc/* : 各服务各自的配置文件
/var/lib/* 各服务产生的数据库
/var/run/* 各服务的程序之PID记录处
查看,启动,关闭,服务等等
/etc/init.d/syslog 为例 , /et/init.d/syslog {start|stop|status|restart|condrestart}
/etc/init.d/syslog status 查看状态
/etc/init.d/syslog restart
service命令与上面的是一样的效果。
service crond restart
/etc/init.d/crond restart
事实上,在linux系统中,要打开或关闭port,就是需要启动或关闭某个服务,因此,可以找出某个port对应的服务,程序对应的服务,进而启动或关闭它,那么该服务的port,自然就会启动或关掉了。
其实 super daemon 本身也是一支 stand alone 服务,它所管理的服务是否有启动,grep -i 'disable' /etc/xinetd.d/*
服务的防火墙管理 xinetd , TCP Wrappers
可以使用 /etc/hosst.{allow | deny} 来管理某些程序的网络使用
1. 来源 IP 或 / 与 整个网域 的IP 网段
2. port ( 就是服务啦, )
chkconfig : 管理系统服务默认开机启动与否
chkconfig --list [服务名称]
ntsysv 类图形接口管理模式 ( 跟如上 chkconfig 差不多 ) 这个命令是 red hat 特有的。