init的作用是启动linux系统服务。linux的系统服务包括两种,第一种是独立运行的系统服务,他们常驻内存中,自开机后一直运行着 (如httpd),具有很快的响应速度:第二种是由xinet设定的服务。xinet能够监听多个制定的端口,在接受用户请求时,它能根据用户请求的端口不同,启动不同的网络服务进程来处理这些用户请求。因此,可以把xinet看成是一个启动服务的管理服务器,它决定把一个客户请求交给哪个程序来处理,然后启动相应的守护进程,下面分别介绍两种系统服务。
独立运行的服务:
init进程通过其配置文件inittab中的配置信息,来选择不同的运行级别,通过执行不同运行级别目录中启动脚本来启动独立运行的服务。
#ls /etc/rc.d/rc3.d
K02NetworkManager K35winbind k89netplugd S10networ
可以看到,每个对应的服务都以S或者 K,其中S代表启动,K代表关闭。
在执行完相应rcN.d目录下的脚本文件后,init最后执行rc.local来启动本地服务,因此若用户想把某些非系统服务设置为自动启动,可以编辑rc.local脚本文件,加上相应的执行语句即可
xinet设定的服务:
xinetd 管理系统中不经常使用的服务,这些服务只有在请求时才由xinetd服务负责启动,一旦运行完毕自动结束。xinetd的配置文件为 /etc/xinetd.conf,它对xinet的默认参数进行配置:
defaults
{
instaces = 60
log_type = SYSLOG authpriv
log_on_success =HOST pid
log_on_failure =HOST
cps = 25 30
}
includedir /etc/xinetd.d
从该配置文件的最后一行可以看出,xinetd启动/etc/xinetd.d为配置文件目录。在对应的配置文件目录中可以看到每一个服务的基本配置,如tftp服务的配置脚本文件如下:
service tftp
{
socket_type =dgram(数据报格式)
protol =udp(使用UDP传输)
wait = yes
user =root
server = /user/sbin/in.tftpd
server_args = -s /tftpboot
disable = yes(不启动) (yes表示这个服务被禁用,用户不能使用这个服务)
per_source =11
cps = 100 2
flags =IPV4
}
服务管理的相关命令:
service+系统服务+start|stop|status|restart
chkconfig --list 查看linux系统不同的运行服务所有设定情况
chkconfig --level N 服务名称 指定状态(例如:先查看ntpd服务在所有运行级别的设定状态,然后改变3运行级别该服务的状态:#chkconfig -- list | grep ntpd #chkconfig --level 3 ntpd on)
阅读(945) | 评论(0) | 转发(0) |