linux启动时会自启动系统服务,但同时也会启动一些按需服务。
所有的按需服务都配置在/etc/xinetd.conf文件中(内容如下)
defaults
{
# Define general logging characteristics.
log_type = SYSLOG daemon info
log_on_failure = HOST
log_on_success = PID HOST DURATION EXIT
# no_access =
# only_from =
# max_load = 0
cps = 50 10
instances = 50
per_source = 10
# bind =
# mdns = yes
v6only = no
# passenv =
groups = yes
umask = 002
}
includedir /etc/xinetd.d
最后一行告诉我们所有按需服务的参数文件都在 /etc/xinetd.d目录下(将不同的服务配置文件单独写在不同文件中,便于管理)
[root@localhost xinetd.d]# ls /etc/xinetd.d
chargen-dgram discard-dgram ekrb5-telnet rmcp time-dgram
chargen-stream discard-stream gssftp rsync time-stream
cvs echo-dgram klogin S00fang
daytime-dgram echo-stream krb5-telnet tcpmux-server
daytime-stream eklogin kshell tftp
每个按需服务都有一个参数文件(如tftp的配置文件就是上面tftp)
[root@localhost xinetd.d]# vim /etc/xinetd.d/tftp
# default: off
# description: The tftp server serves files using the trivial file transfer \
# protocol. The tftp protocol is often used to boot diskless \
# workstations, download configuration files to network-aware printers, \
# and to start the installation process for some operating systems.
service tftp
{
disable = yes 说明tftp服务为开启
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
per_source = 11
cps = 100 2
flags = IPv4
}
开启按需服务
方法 1:
[root@localhost init.d]# chkconfig --list tftp (自动修改配置文件disable = yes )
tftp 关闭
[root@localhost init.d]# chkconfig tftp on (自动修改配置文件disable = no)
[root@localhost init.d]# chkconfig --list tftp
tftp 启用
方法 2:
[root@localhost init.d]# ntsysv
ntsysv 1.3.30.2 - (C) 2
│ 您想自动启动哪些服务? │
│ [ ] NetworkManager ↑ │
│ [*] S00fang ? │
│ [*] acpid ? │
│ │
│ ┌──────┐ ┌──────┐ │
│ │ 确定 │ │ 取消 │ │
│ └──────┘ └──────┘ │
上下键选择
空格键选择是否自启动此服务
tab键将光标移动到按钮
这种方法只能设置服务状态,不能启动或停止服务
方法 3:
桌面菜单中 系统-------->管理-------->服务器设置-------->服务
总结服务分两种 ,
一种是开机自启动服务(后台服务,有runlevel参数),一直在后台运行,响应用户请求。
另一种是按需服务(临时服务,没有runlevel参数),有用户请求,立即开启服务,用户离开,服务也会结束。有一个进程(xinetd 它是后台服务)就是专门用来监听这些按需服务的请求,一旦有用户请求按需服务,xinetd会启动相应的服务,服务用户,用户离开时,xinetd立即关闭服务。
后台服务全在 /etc/rc.d/init.d/目录下
按需服务全在 /etc/xinetd.d/目录下(都是配置文件,其中的参数指向正是程序。也可以是真是程序)
工具分类 :
1 、chkconfig 可以控制以上两种服务
2 、service 只能控制后台服务
3 、ntsysv (如下:只能看见chkconfig 注册过的后台服务,和
/etc/xinetd.d/目录下的按需服务)
用chkconfig --list 服务名 查看此服务是否注册过?
│ [ ] NetworkManager │
│ [*] S00fang │
│ [*] acpid │
│ │
│ ┌──────┐ ┌──────┐ │
│ │ 确定 │ │ 取消 │ │
│ └──────┘ └──────┘ │
4 、桌面菜单中能看见的服务和ntsysv一样