当前位置:   article > 正文

系统服务_too many clients, refusing connections to '/var/ru

too many clients, refusing connections to '/var/run/abrt/abrt.socket
Linux 中,有某些进程在系统启动时就开始在后台运行, 除非程序出现异
常或者被人为终止, 这些进程将一直运行, 直到关机才结束。 这些特殊后台进程
对系统和用户来说非常重要, 甚至是不可或缺的。 原因就在于这些进程都是一些
不中断的,随时接受请求的,为用户和系统提供某项特定功能的后台进程。
这些后台进程就被称为守护进程(
daemons ), 正式地说,守护进程就是运行
在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处
理某些发生的事件。它不需要用户输入就能运行而且为系统或者用户提供某种服
务(
services )。
我们举两个例子来说明好了: 比如
Linux 上的 web 服务器 Apache 的守护
进程进程叫做
httpd , 启动以后会在后台监听 80 端口,当接收到客户端的请求的
时候用相应的网页(文件)响应客户端;又比如
Linux 上的计划任务守护进程叫
crond ,启动以后每分钟都会去读取 /etc/crontab 配置文件来检查是否有计划
任务需要执行。
守护进程一般在系统启动时开始运行,除非强行终止,否则直到系统关机都
保持运行。守护进程经常以超级用户(
root )权限运行,因为它们要使用特殊的
端口(
1-1024 )或访问某些特殊的资源。守护进程是非交互式程序,没有控制终
端,所以任何输出,无论是向标准输出设备
stdout 还是标准出错设备 stderr
输出都需要特殊处理。
1. 服务类型
Linux 下的守护进程按照服务类型可以分为两类。一类是系统守护进程,为
系统提供某种重要的功能, 如
atd cron lpd syslogd login 等。 另一类是网
络守护进程,向用户提供某种网络服务, 如
sshd httpd sendmail xinetd 等。
Linux 中几乎所有的网络服务器就是通过守护进程实现的。
Linux 守护进程的工作模式是服务器 / 客户机( Server/Client ),服务器在一个
特定的端口上监听(
Listen )等待客户连接,连接成功后服务器和客户端通过端
口进行数据通信。守护进程的工作就是打开一个端口,并且监听(
Listen )等待
客户连接。如果客户端产生一个连接请求,守护进程就创建(
Fork )一个子服务
器响应这个连接,而主服务器继续监听其他的服务请求。
2. 工作模式
Linux 下的守护进程按照工作模式也可以分为两类: 独立守护进程( standalone daemon ) 和超级守护进程( super daemon )。
1 ) 独立守护进程
顾名思义,所谓独立守护进程,就是该守护进程可以独立运行,守护进程常
驻内存,响应快,无服务启动时间。 所有独立运行守护进程的脚本在
/etc/rc.d/init.d/ 目录下, 由 init 脚本负责管理。
2 ) 超级守护进程
对于系统所要求的每一种服务,都必须运行一个监听某个端口守护进程, 在
提供多种服务的
Linux 系统中,系统内存中同时运行二、三十种不同的守护进
程意味着资源浪费和效率的下降。为了解决这个问题,
Linux 引进了“超级服务
(super-server) ” 或者叫“超级守护进程 (super daemon) ” 的概念。 RHEL 使
用的超级守护进程叫做
xinted eXtended InterNET Daemon )。
xinted 是一个非常特殊的守护进程, xinetd 能够同时监听多个指定的端口,
在接受用户请求时,他能够根据用户请求的端口不同, 再来启动不同的网络服务
进程来处理这些用户请求。可以把
xinetd 看做一个管理守护进程的守护进程,它
决定把一个客户请求交给那个程序处理,然后启动相应的守护进程。
stand-alone 工作模式相比,系统不必为每一个网络服务进程监听其服务
端口,运行
xinetd 守护进程就可以同时监听所有服务端口,这样就降低了系统开
销, 有效利用系统资源。
但是对于访问量大、经常出现并发访问时,
xinetd 想要频繁启动对应的网络
服务进程,反而会导致系统性能下降。一般来说系统一些负载高的服务,比如
Apache sendmail 等服务是单独启动的。而其他服务类型都可以使用 xinetd
级服务器管理。
表 错误 ! 文档中没有指定样式的文字。 -1 Linux 守护进程列表
守护进程 含义
alsasound Alsa 声卡驱动的守护程序
acpid 替代传统 APM 电源管理标准的新型电源管理标准(Advanced
Configuration and Power Interface Daemon
)的守护进程
atalk AppleTalk 网络的守护进程
amd 自动安装 NFS 的守护进程
anacron 自动运行任务的守护进程
apmd 高级电源管理(Advanced Power Management)的守护进程
arpwatch 记录日志并构建一个在 LAN 接口上看到的以太网地址和 IP
址的进程
atd at batch 命令的守护进程
autofs 自动安装管理进程的守护进程,与 NFS 相关,依赖于 NIS 服务
bootparamd 引导参数服务器,为 LAN 上的无盘工作站提供引导所需的相关
信息
bluetooch 蓝牙服务的守护进程
crond Cron 服务的守护进程,该程序周期地运行用户调度的任务
chargen 使 用 tcp 协议 的 chargen server ,(Character Generator
Protocol
)是一种网络服务,主要功能是提供类似远程打字的功
chargen
udp
使用 udp 协议的 chargen server 的守护进程

注意
对于 CentOS,在默认情况下,守护进程一般来说都是独立守护进程,
除非进行过配置,否则
xinted 这个超级守护进程开机是不启动的。
运行不必要或有漏洞的守护进程会给操作系统带来安全和性能上的
影响。 任何一个漏洞都可能使整个系统受到攻击。所以,增加系统安
全的最佳办法就是尽量关闭不需要的守护进程。表 错误
!文档中没有指
定样式的文字。
-1 Linux 守护进程列表列出了一些 CentOS 中常见的守
护进程的名字及其作用。用户可根据具体需求来决定哪些守护进程是
应该开启的,哪些又是应该关闭的。


cpuspeed 监测系统空闲百分比,降低或加快 CPU 时钟速度和电压的守护
进程
dhcpd 动态主机控制协议(Dynamic Host Control Protocol)服务的守护
进程
cups 提供第三代打印功能的守护进程 (Common UNIX Printing
System)
daytime 使用 tcp 协议日期时间的守护进程,该协议为客户机实现从远
程服务器获取日期和时间的功能
daytime-udp 使用 udp 协议日期时间的守护进程
dc_server 使用 SSL 安全套接字代理服务器的守护进程
dc_client 使用 SSL 安全套接字客户端的守护进程
diskdump 服务器磁盘备份的守护进程
echo 服务器回显客户数据服务的守护进程
echo-udp 使用 udp 协议的服务器回显客户数据服务守护进程
gated 网关路由的守护进程
gpm 为文本模式下的 Linux 程序如 mc(Midnight Commander)提供
鼠标的支持的守护进程(
General Purpose Mouse Daemon
httpd Web 服务器 Apache 的守护进程
inetd 网络管理的守护进程
innd Usenet 新闻服务器的守护进程
iiim 中文输入法服务器的守护进程
iptables 防火墙功能的守护进程
irda 红外功能的守护进程
isdn isdn 启动和中止服务的守护进程
krb5-telnet 使用 kerberos 5 认证的 telnet 守护进程
klogin 远程登陆的守护进程
irqbalance 对多个系统处理器环境下的系统中断请求进行负载平衡的守护
进程
kshell Kshell 服务器的守护进程
kudzu 硬件自动检测的守护进程,自动检测硬件的添加、删除等
ldap 目录访问协议服务器的守护进程(Lightweight Directory Access
Protocol
lm_seroems 检测主板工作情况的守护进程
lpd 老式打印服务的守护进程
mdmonitor RAID 相关设备的守护程序
mysqld Mysql 数据库的守护进程
named 名称服务器的守护进程
netplugd 网 络 接 口 管 理 的 守 护 进 程 (Network Cable Hot Plug
Management Daemon
netdump 远程网络备份服务器的守护进程
netfs 安装和卸载 NFSSAMBA NCP 网络文件系统的守护进程
Network Filesystem Mounter


ntpd 使系统和一个精确的时间源保持时间同步的协议守护进程
Network Time Protocol Daemon
network 激活、关闭网络接口的守护进程
pcmcia 支持笔记本 PCMCIA 服务的守护进程
portmap 支持 RPC 连接的守护进程, RPC 被用于 NFS 以及 NIS 等服
postgresql PostgreSQL 数据库的守护进程
random 随机数生成器的守护进程
rawdevices 使用集群文件系统时用于加载 raw 设备的守护进程
routed 支持 RIP 协议的自动 IP 路由表维护的守护进程
rsync 远程数据备份(Remote Sync)的守护进程
rsh Shell 服务器的守护进程
sendmail 邮件服务器的守护进程
smb Samba 文件共享/打印服务的守护进程
snmpd 本地简单网络管理的守护进程
squid 代理服务器 squid 守护进程
sshd OpenSSHSecure Shell Protocol)服务器的守护进程
smartd 监控硬盘的守护进程(Self-Monitor Analysis and Reporting
Technology System
syslog 系统引导时启动 syslog klogd 系统日志守护进程的程序
time 使用 tcp 协议从远程主机获取时间和日期的守护进程
time-udp 使用 udp 协议从远程主机获取时间和日期的守护进程
tux Linux 内核中运行 apache 服务器的守护进程
vsftpd vsftp 服务器的守护进程
vncserver VNC 服务(Virtual Network Computing 虚拟网络计算)的守护
进程
xfs X Window 字型服务器的守护进程,为本地和远程 X 服务器提
供字型集
xinetd 支持多种网络服务的核心守护进程
ypbind 使 客 户 进 程 能 绑 定 或 连 接 到 网 络 信 息 系 统 (Network
Information System
)服务器的守护进程
yppasswdd 网络信息系统 NIS 口令服务器的守护进程
ypserv 网络信息系统 NIS 主服务器的守护进程
yum 自动升级和软件包管理的守护进程

我们以 http 服务为例子来看下如何启动和管理系统服务。我们首先来看一下 http
服务是否启动了,首先需要确定相关进程是否在运行并且是否在监听相关端口。
这时就要用到
netstat 命令了, netstat 命令是一个监控本机网络端口状态的非常
有用的工具,这里使用了
netstat 的“ -a ”选项,表示输出所有网络连接 ( 无论是
已建立连接还是未建立连接的
) 和套接字 ( 无论是正在监听的还是没有在监听的 )
信息:
[root@localhost ~]# netstat –a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:38183 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 52 192.168.71.128:22 192.168.71.1:57091 ESTABLISHED
tcp 0 0 192.168.71.128:22 192.168.71.1:55927 ESTABLISHED
tcp 0 0 192.168.71.128:22 192.168.71.1:63199 ESTABLISHED
…… 此处省略若干行
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 14439
/var/run/abrt/abrt.socket
unix 2 [ ] DGRAM 11800
/var/run/portreserve/socket
…… 此处省略若干行
输 出 主 要 分 为 两 部 分 : 第 一 部 分 是 活 动 网 络 连 接 (Active Internet
connections)
,显示的都是 TCP/IP 网络连接,默认有 5 个字段,如表 错误 ! 文档
中没有指定样式的文字。
-2 所示:
表 错误 ! 文档中没有指定样式的文字。 -2
字段名 字段意义
Proto 连接使用的协议,主要就是 TCP UDP 两种。
Recv-Q 尚未接收的字节数。
Send-Q 尚未发送到目标的字节数。
Local Address本地或源的地址和端口, 可以是 “主机 IP:端口号”
(使用-n 选项时), 也可以是“完整的主机名:端口名
称”。 其中如果
IP 地址为“0.0.0.0” 或者主机名为
*”就表示在所有链接的相应端口,如“0
0.0.0.0:22
” 就表示在本机所有链接的 22 端口上都进
行监听。
Foreign Address 目标地址和端口。
State 当前 socket 连接的状态
ESTABLISHED - 连接已建立;
SYN_SENT:正在尝试建立连接 (发出 SYN
标志)
SYN_RECV:接收到一个连接建立请求
FIN_WAIT1socket 关闭,连接中断中;
FIN_WAIT2:连接已中断,但 socket 正在等
待对方回应;
TIME_WAIT:连接已中断, socket 仍在等待,
以处理仍然存在在网络中的包;
LISTEN - 已建立监听, socket 正在监听端口


输入, 但尚未建立连接。

第二部分是活动 Unix 域套接字 (Active UNIX domain sockets) , 显示的都是
本地进程间通信的套接字。 我们这里并不关心这部分内容,有兴趣的同学可以参
考一下《
Linux 程序设计(第 3 版)》( Neil Matthew, Richard Stones 著)的第 13
章作进一步的了解。
当然“
netstat -a ”的输出很长,里面有很多信息是我们当下不需要的,如 Unix
域套接字的相关信息,如已建立的网络连接等等。我们接下来就将缩小一下查看
范围,我们仅仅查看在监听中的
TCP 网络连接:
[root@localhost ~]# netstat -ltp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 *:38183 *:* LISTEN 1836/rpc.statd
tcp 0 0 *:sunrpc *:* LISTEN 1775/rpcbind
tcp 0 0 *:ssh *:* LISTEN 2043/sshd
tcp 0 0 localhost:ipp *:* LISTEN 1888/cupsd
tcp 0 0 localhost:smtp *:* LISTEN 2219/master
tcp 0 0 *:sunrpc *:* LISTEN 1775/rpcbind
tcp 0 0 *:ssh *:* LISTEN 2043/sshd
tcp 0 0 localhost:ipp *:* LISTEN 1888/cupsd
tcp 0 0 localhost:smtp *:* LISTEN 2219/master
tcp 0 0 *:44610 *:* LISTEN 1836/rpc.statd
[root@localhost ~]#
其中“ -l ”选项表示显示正在监听的连接(不显示已经建立的连接),“ -t ”选
注意
服务和端口是不可分割的一对概念, 因为一个主机上一般来说都运行
着不止一个系统服务,但相应
IP 地址只有一个,端口就是用户用来
区分主机在同一个
IP 地址上所提供的不同服务的。例如为宁波城市
职业技术学院的官网提供
Web 服务的主机上还提供了 FTP 服务,这
台主机的
IP 地址只有一个 60.190.19.110,但是这两个服务所使用的
端口号是不同的(
HTTP 服务端口号为 80FTP 服务的端口号是 21),
那么主机就可以用端口号来辨别访问主机的用户到底是需要访问主
机上哪个服务了;
Linux 系统下共定义了 65536 个可用端口 ,这些端口又分为两部分,
分别是:
A) 只有 root 用户才能启用的 port01023 端口,需要用 root
份才能启用,这些端口主要用于系统的常见(
well known) 通信服务
(如
http 服务使用 80 端口, ftp 服务使用 21 端口等等);
B102465535 是给客户端软件使用的,客户端 port 不受 root
用户限制, 例如 mysql 端口为 3306, 可以由 mysql 用户启用; 例如
Oracle 端口为 1521, 可以由 Oracle 用户启用; 又例如用网络浏览器
浏览网页。浏览器需先从本地启用一个大于或等于
1024 的随机端口,
然后去连接
web 服务端的 80 端口。


项表示只显示 TCP 连接,“ -p ” 选项表示显示连接从属的的进程 PID 和进程名
称。 我们可以看到输出比错误
! 未找到引用源。 中多出了一个字段,就是连接从
属的进程
PID 和程序名称 (PID/Program name) , 例如错误 ! 未找到引用源。 中第
六行:
命令序列 错误 ! 文档中没有指定样式的文字。 -1
tcp 0 0 *:ssh *:* LISTEN 2043/sshd
就表示是一个名为 sshd 的进程,进程号 2043 ,在本机所有网络接口的 21
端口上进行监听,但尚未建立连接。
我们查看了所有列出的所有
TCP 网络连接, 但没有发现有在 80 端口也即
http 端口上监听的进程,所以我们可以肯定 http 服务并未启动,接下来我们就要
去启动
http 服务。在 Linux 中我们最常用也是最可靠的 http 服务器就是 Apache
HTTP Server
,所以我们就是要去启动 Apache
Apache 是一个服务器应用软件,其主要功能就是运行在主机上,为访问主
机的用户提供
HTTP 服务,因此 Apache 无需与本地用户进行交互,因此 Apache
是一个彻彻底底运行在后台的程序(事实上几乎所有的服务器应用软件都是这样
的程序),这些运行在后台的提供服务的进程,我们一般称其为守护进程
daemon )。
命令
用法: netstat [选项] [参数]
输出网络连接, 路由表, 接口统计数据, 伪连接,及多播成员相关信息
-r 显示路由表
-I 显示网络接口的连接情况(可以加上 eth0lo 等参数)
-s 显示 IPICMPIcmpMsgTCPUDPUdpLiteTcpExtIpExt
的统计信息
-n 以数字形式显示地址和端口号
-p 显示 PID/Program name
-l 显示监听端口
-a 显示所有连接和监听端口
-t 显示 TCP 传输协议的连线状况
-u 显示 UDP 传输协议的连线状况
-e 显示关于以太网的统计数据。它列出的项目包括传送的数据报的
总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计
数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以
用来统计一些基本的网络流量)。
从整体上看,
netstat 的输出结果可以分为两个部分,一个是 Active
Internet connections
,称为活动的网络连接。另一个是 Active UNIX
domain sockets
,称为活动的 Unix 域套接口(这些内容在本任务的前面
部分已经提到)。

注意


启动服务器应用软件比较复杂,不是简单的点击某个图标或者执行某个二进
制文件就可以的,我们一般需要一个
Shell 脚本来帮我们完成这件事情,好在这
样的脚本在安装服务器的时候就已经为我们准备好了(当然除了这个脚本外还有
一系列相关的文件,这个话题我们将在知识点
3 中详细讨论)。
RHEL/CentOS 中,服务脚本基本上全部放在 /etc/init.d/ 这个目录下,当然
实际上这些脚本是放在
/etc/rc.d/init.d 中的, /etc/init.d/ 仅仅是一个符号链接。
[root@@localhost ~]# ls -ld /etc/init.d
lrwxrwxrwx. 1 root root 11 May 31 17:43 /etc/init.d -> rc.d/init.d
这里面的脚本一般都可以用文件查看软件或者 vim 打开来观察。脚本的内容
大致包括如下内容:脚本的描述、环境调用、搜寻配置文件、加载
functions 、服
务的启动停止与加载、最后还会有脚本的参数。 这些脚本都可以直接执行,当然
RHEL/CentOS 上还提供了一个方便的命令—— service , 来直接调用这里面的脚
本。
接下来, 我们就将
HTTP 服务启动起来。 首先用 yum 来查询一下,确定是
否已经安装了
Apache HTTP Server (注意, Apache HTTP Server 的守护程序
名为
httpd ),如未安装则首先安装(参考“错误 ! 未找到引用源。 这个项目): 2
[root@localhost ~]# yum list httpd
Loaded plugins: fastestmirror, priorities, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: ftp.stust.edu.tw
* extras: ftp.stust.edu.tw
* rpmforge: ftp.riken.jp
* updates: ftp.stust.edu.tw
17 packages excluded due to repository priority protections
Installed Packages
httpd.x86_64 2.2.15-15.el6.centos.1 @anaconda-CentOS-201207061011.x86_64/6.3
[root@localhost ~]# cd /etc/init.d/
[root@localhost init.d]# ./httpd start
正在启动 httpd [ 确定 ]
[root@localhost ~]#
当然也可以通过 service 命令来调用脚本启动服务,与直接使用脚本启动服
务的效果是一样的:
[root@localhost ~]#service httpd start
正在启动 httpd [ 确定 ]
无论是用 service 还调用脚本启动服务,脚本都提供了若干动作命令供用户
来操纵脚本。每个脚本所提供的动作命令不一定都相同,如果我们不清楚,可以
使用键入脚本名或者用
service 调用脚本名不加任何动作命令来查看:
[root@localhost ~]# service httpd
根据守护进程的启动与管理方式来分,可以将 daemon 分为独立
守护进程(
stand-alone daemon) 和超级守护进程(super
daemon
)。我们在教程中涉及的服务器的守护进程都将以独立守
护进程的形式启动(至于超级守护进程,我们将在在知识点
2
拓展
1 中就这个话题进行简要说明)。


Usage: httpd {start|stop|restart|condrestart|try-restart|forcereload|reload|status|fullstatus|graceful|help|configtest}
[root@localhost ~]# /etc/init.d/httpd
Usage: httpd {start|stop|restart|condrestart|try-restart|forcereload|reload|status|fullstatus|graceful|help|configtest}
[root@localhost ~]#
这个大部分动作命令都是自解释的, 如果结合脚本文件就会更清楚, 各个动
作命令到底是干什么的,但为了方便起见,我们在这里还是在
service 命令的介
绍中列出若干常用动作命令(对于脚本同样起作用)。
至此,我们就将
http 服务启动好了, 我们接下来就可以访问这个 http 服务
了,在本机上打开浏览器,在地址栏输入
http://127.0.0.1 ,回车,就可以打开如
下页面:
命令
用法: service [服务脚本名] [动作命令]
service
命令用于对系统服务进行操纵,比如启动(start)、停止(stop)、
重启(
restart)、查看状态(status)等, service 命令本身是一个 shell
本,它在
/etc/init.d/目录查找指定的服务脚本,然后调用该服务脚本来完
成任务,
sevice
service 服务脚本名 打印指定服务的命令行使用帮助。
service 服务脚本名 start 启动指定的系统服务
service 服务脚本名 status 查看指定的系统服务状态
service 服务脚本名 stop 停止指定的系统服务
service 服务脚本名 restart 重新启动指定的系统服务,即先停止
然后再启动。


但是此时出现一个问题,虽然在本机上可以访问 http 服务,但是在远程就无
法访问此主机上的
http 服务,这样一来,服务器就失去其意义了,究其原因在于
主机防火墙的相应端口
(80 端口 ) 尚未开放,我们只要设置相应的端口即可。打开
防火墙的配置文件
/etc/sysconfig/iptables ,在其中添加上如下所示一行:
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
然后重启防火墙服务(是的,防火墙也是一个系统服务):
[root@localhost ~]# service iptables restart
iptables
:清除防火墙规则: [ 确定 ]
iptables
:将链设置为政策 ACCEPT filter [ 确定 ]
iptables
:正在卸载模块: [ 确定 ]
iptables
:应用防火墙规则: [ 确定 ]
当然也可以直接使用 RHEL/CentOS 中提供的伪图形界面防火墙设置工具
system-config-firewall 来设置,可以参考命令序列 错误 ! 文档中没有指定样式的文
字。
-3 、 错误 ! 未找到引用源。 和错误 ! 未找到引用源。, 相当简单,我们就不再赘
述了:
命令序列 错误 ! 文档中没有指定样式的文字。 -3
接下来,我们来解决最后一个问题,我们在前面所做的 http 服务的启动是一次性
的,当主机重启后,还需要再次手动去启动
http 服务器,那么,如何在开机时就
自动启动相关服务呢?接下来我们就来完成这部分工作。
Linux 为提供了若干不
同的守护进程管理工具,我们在这里将使用其中最常用也是最可靠的
chkconfig
来完成我们的工作。
首先我们用“
chkconfig --list ” 命令显示系统服务列表,以及这些服务在运
行级别
0 6 中已被启动( on )还是停止( off ),
[root@localhost ~]# chkconfig --list
NetworkManager 0:
关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
abrt-ccpp 0: 关闭 1: 关闭 2: 关闭 3: 启用 4: 关闭 5: 启用 6: 关闭
abrt-oops 0: 关闭 1: 关闭 2: 关闭 3: 启用 4: 关闭 5: 启用 6: 关闭
…… 此处省略若干行
httpd 0: 关闭 1: 关闭 2: 关闭 3: 关闭 4: 关闭 5: 关闭 6: 关闭
…… 此处省略若干行
wdaemon 0: 关闭 1: 关闭 2: 关闭 3: 关闭 4: 关闭 5: 关闭 6: 关闭
wpa_supplicant 0: 关闭 1: 关闭 2: 关闭 3: 关闭 4: 关闭 5: 关闭 6: 关闭
ypbind 0: 关闭 1: 关闭 2: 关闭 3: 关闭 4: 关闭 5: 关闭 6: 关闭
注意
运行级别(runlevel)就是 Linux 当前正在运行的功能级别。这些级别
定义在
/ect/inittab 文件中。一般来说 Linux 都会提供从 0 6 共七个
运行级别,其中
3 个是基本运行级别, 3 个是其他运行级别, 1 个保
留。
表 错误!文档中没有指定样式的文字。 -3
级别 目的
0 关闭(或停止)系统
1 单用户模式;通常别称为 s S


我们可以观察到 httpd 服务虽然存在,但是在所有的六个运行级别中都是关
闭的,我们接下来在运行级别
3 5 中开启 http 服务:
[root@localhost ~]# chkconfig --level 35 httpd on
[root@localhost ~]# chkconfig --list httpd
httpd 0:
关闭 1: 关闭 2: 关闭 3: 启用 4: 关闭 5: 启用 6: 关闭
[root@localhost ~]#
当然也可以直接使用 RHEL/CentOS 中提供的伪图形界面的系统服务自启动
设置工具
ntsystv 来设置,可以参考错误 ! 未找到引用源。, 相当简单,我们也就
不再赘述了:
至此,我们就基本了解了如何去管理我们主机上的系统服务的方法。

2没有联网的多用户模式
3 联网的多用户模式
4 保留暂未使用
5 联网并且使用图形界面的多用户模式
6 重启系统

在不同运行级别下可以定义启动不同的系统服务
可以使用 runlevel 命令来查看当前运行级别,也可以用 init NN
0-6 之间的数字)来切换运行级别




声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/51207
推荐阅读
相关标签
  

闽ICP备14008679号