OS初始化:
si::sysinit:/etc/rc.d/rc.sysinit
服务类脚本:
SysV: /etc/rc.d/init.d
start|stop|restart|reload|status
在这个目录下的所有文件,打开看,都会有chkconfig ,Description,config等信息,
就是因为这些,才可能使其成为系统脚本。
例如 vim /etc/rc.d/init.d/smb
#!/bin/bash
chkconfig: - 91 35 (-表示没有级别默认为S*开头的链接。就是没开启(不过这个未必正确,但是一定要规范,其他的都挺规范^_^))
description:Starts and stops the Samba daemon used to provide SMB network services
pidfile:/var/run/samba/smbd.pid
config:/etc/samba/smb.conf
….
chkconfig: runlevel SS KK
当chkconfig命令来为此脚本在rc#.d目录创建链接时,runlevels表示默认创建为S开头的链接,除此之外的级别默认为K开头的链接。
S后面的启动优先级为SS所在的数字;K后面关闭优先次序为KK所表示的数字。
(即指:runlevel表示运行级别,SS为所启动的序列,例如smb,会以S91smb这个名字启动,而关闭,则会是K35smb,不过需指明,!!!runlevel这行
不准确!!!,,不过自己在编写脚本的时候可正确指明。。)
description:用于说明此脚本的简单参数: ,续行。
例如自己创建一个脚本:myservice
1 |
|
这个时候在2345这些运行级别上,chkconfig并没有生成链接指向2345运行级别上,
然后执行:
1 | #hkconfig --add myservice 创建链接,执行2345runlevels. |
就是发现2345以S77myservice名字启动,其他运行级别以K22myservice名字关闭。
chkconfig –list :查看所有独立守护服务的启动设定: 独立守护进程。
chkconfig –del myservice 删除这些链接。
chkconfig –level 234 myservice on (即可命令完成)
/etc/inittab的任务:
- 设定默认运行级别
- 运行系统初始化脚本
- 运行指定运行级别对应的目录下的文件
- 设定Ctrl+Alt+Del组合键的操作
- 定义UPS电源在电源故障/恢复时执行的操作
- 启动虚拟终端(2345级别)
- 启动图形终端(5级别)
守护进程的类型:
独立守护进程
xinetd:超级守护进程
(默认没安装)
瞬时守护进程(不需要关联至运行级别,也没这个概念)
超级守护进程是瞬时守护进程的代理人。
#chkconfig –list xinetd
可以看到345级别启动
#vim /etc/rc.d/init.d/xinetd
可以看到它的配置文件的所在路径。。
在/etc/xinetd.conf的最后一行包含/etc/xinetd.d这个目录,这个目录下
可以存放瞬时守护进程。
xinetd的基本介绍:
xinetd是一个运行于类Unix操作系统的开放源代码的超级服务器(Super-server)守护进程。
它的功能是管理网络相关的服务。由于其较高的安全性,xinetd开始逐渐取代inetd。
xinetd监听来自网络的请求,从而启动相应的服务。它可以用来启动使用特权端口和非特权端口的服务.
关于/etc/xinetd.conf和/etc/xinetd.d/目录的介绍:
http://book.51cto.com/art/200906/127336.htm
http://baike.baidu.com/link?url=n52yOhYiRIMIO5q5-pGjLZdxcpzXfItPcN1ItCZfBRF8-unh9h5oF5UoMJKcq6kvxlR472BGi0zFoQsUQBAgEa