进程:
独立进程(standalone):一直存在于内存中
非独立守护进程:有xinetd管理,xinetd是个独立进程
一个有趣的例子来说明二者区别,就是独立进程就像是专卖店,而我们的非独立守护进程就像是大卖场,独立
守护进程在开机时就启动随时接受访问,而我们的非独立守护进程在系统启动时不启动,当被访问时,我们的
xinetd会唤醒要访问的进程,所以现在我们可以很清楚两者的区别了,独立进程响应速度快,但是比较消耗内存,
非独立守护进程响应速度较慢,但节约内存,可以根据实际需要选择,但需要注意的是有的进程“天生”就必须是
独立的进程,而有的“天生”就必须是非独立守护进程
respawn是一个动作
以“5:2345:respawn:/sbin/mingetty tty5”为例子
init会一句设置,再本地打开一个终端机,当这个终端超过时间没有人login或者太久没有人击键时,这个终
端会退出执行,respawn即告诉init再重新执行这个终端,否这,在一段时间后,我们会发现这个终端消失了,无法
利用ALT+F5切换。;)
当login一个系统,你就一定运行在一个运行级别之上,而固定的运行级别在系统初始化过程中就会启动相应
级别下的脚本(/etc/rc.d/)rcN),但这下面的都是连接文件,真正的脚本文件在/etc/rc.d/init.d,不同的级别下运行
的脚本不同,可以通过命令改变脚本的运行级别
chkconfig --list daemon 可以查看一个进程在不同级别下的状态
chkconfig --level | nnnn daemon on/off 修改进程的运行级别状态,这个命令的的实质就是在35
级别下分别创建一个连接
chkconfig --level 3 5 on
chkconfig --add/del 这个命令就是将你的第三方的进程加入到sys V的管理风格中,如下:
chkconfig --add/del mysqld 将mysqld拷贝到/etc/rc.d/init.d/中,接受sys V 的风格管理
sysV风格的脚本是startup风格,也叫startup文件
当改变了一个进程的状态,必须重启服务
service startup start/stop/status (RedHat独有的)
/etc/init.d/startup/ start/stop/status (linux通用的方式)
rhce考试就必须将配置的服务开机启动
/etc/sysconfig 也是个与脚本有关的目录具体的
http://blog.chinaunix.net/u/7362/showart_203520.htm
下面说一下 xinetd
主配置文件/etc/xinetd.conf
xinetd管理的非独立守护进程配置文件 /etc/xinetd.d下,与非独立守护进程同名(非独立守护进程没有
级别可言)
ldd可以查看所依赖的库文件 如 ldd `which xinetd`
xinetd.conf解释
/etc/xinetd.conf
xinetd的配置文件是/etc/xinetd.conf,但是它只包括几个默认值及/etc/xinetd.d目录中的配置文件。如
果要启用或禁用某项xinetd服务,编辑位于/etc/xinetd.d目录中的配置文件。例如,disable属性被设为yes,表示
该项服务已禁用;disable属性被设为no,表示该项服务已启用。
# Simple configuration file for xinetdinstances = 60:表示最大连接进程数为60个。
log_type = SYSLOG authpriv:表示使用syslog进行服务登记。
log_on_success= HOST PID:表示设置成功后记录客户机的IP地址的进程ID。
log_on_failure = HOST:表示设置失败后记录客户机的IP地址。
cps = 25 30:表示每秒25个入站连接,如果超过限制,则等待30秒。主要用于对付拒绝服务攻击。
includedir /etc/xinetd.d:表示告诉xinetd要包含的文件或目录是/etc/xinetd.d。
/etc/xinetd.d/*
下面以/etc/xinetd.d/中的一个文件(rsync)为例。
service rsync {下面说明每一行选项的含义。
disable = yes:表示禁用这个服务,no表示启用此服务
socket_type = stream:表示服务的数据包类型为stream。
wait = no:表示不需等待,即服务将以多线程的方式运行,yes表示单线程
user = root:表示执行此服务进程的用户是root。
server = /usr/bin/rsync:启动脚本的位置。
log_on_failure += USERID:表示设置失败时,UID添加到系统登记表。
以telnet为例测试一下
首先保证测试机安装了xinetd,可用yum安装,yum xinetd install
chkconfig --list |grep “xinetd”
如为开启可用chkconfig --level 3 on xinetd | chkconfig --level 5 on xinetd (注意一次貌似只
能启动一个级别的,不可以同时启动3 5 这样)
安装 telnet yun install telnet -y
启动telnet chkconfig telnet on
然后去配置/etc/xinetd.d/telnet
disable=no 表示启动telnet 去测试一下
登陆成功,第一次是密码错误
当然配置文档中的其他选项也是可以修改的,这里就不做一一测试了,good luck!!!