跳过导航链接 | |
退出打印视图 | |
![]() |
手册页第 1 部分:用户命令 Oracle Solaris 11 Information Library (简体中文) |
- 报告服务状态
svcs [-aHpv?] [-o col[,col]]... [-R FMRI-instance]... [-sS col]... [FMRI | pattern]...
svcs {-d | -D} [-Hpv?] [-o col[,col]]... [-sS col]... [FMRI | pattern] ...
svcs -n [FMRI] ...
svcs -l [-v] [FMRI | pattern]...
svcs -x [-v] [FMRI]...
svcs 命令显示有关服务配置系统信息库中记录的服务实例的信息。
第一种命令形式输出由参数指定的服务实例的单行状态列表。每个实例只列出一次。如果不指定任何参数,则会列出所有已启用的服务实例(即使被临时禁用),这些服务实例将包含以下各列。
第二种命令形式输出由参数指定的服务实例的依赖项或相关项的单行状态列表。
第三种命令形式输出有关特定服务和实例的详细信息。
第四种命令形式说明服务实例的状态。每个参数都对应一组可读的文本,用于说明服务的状态以及服务处于这种状态的原因。如果不指定任何参数,将描述有问题的服务。
标准错误流将显示错误消息。
该命令的输出可适当用作 svcadm(1M) 命令的输入。
支持以下选项:
显示一条扩展的用法消息,包含列说明符。
显示所有服务,包括禁用的以及不完整的服务。可以使用 svcs —x<service> 进一步说明不完整的服务。
如果选定多个服务,则该选项无效。
显示指定的服务实例所依赖的服务或服务实例。
显示依赖于指定的服务或服务实例的服务实例。
省略列标题。
(字母 ell。)显示有关选定的服务和服务实例的所有可用信息。每行显示一个服务属性。不同实例的信息由空行隔开。
以下的特定属性需要进行详细说明:
有关依赖项的信息。首先显示分组与 restart_on 属性,并用正斜杠 (/) 隔开。然后列出每个实体及其状态。有关状态的信息,请参见 smf(5)。除了标准状态,每个服务依赖项还可以具有以下状态描述:
系统中未定义此类服务。
故障管理资源标识符 (Fault Management Resource Identifier, FMRI) 无效。请参见 smf(5)。
该实体是一个有多个实例的服务。
文件依赖项只能具有以下状态描述之一:
系统中不存在此类文件。
该文件存在。
如果该文件在 svc.startd 上次评估服务的依赖项时不存在,该命令可能会认为依赖项不符合条件。svcadm refresh 将强制重新评估依赖项。
stat(2) 由于 ENOENT 之外的原因失败。
有关依赖项、分组以及 restart_on 值的其他详细信息,请参见 smf(5)。
是否启用服务,以及是临时启用还是禁用服务(直到系统下一次重新引导)。前者指定为 true 或 false,后者根据是否存在 (temporary) 的情况进行指定。
服务可能会因管理员运行 svcadm disable -t、使用 svcadm milestone 或将系统引导到特定里程碑而被临时禁用。有关详细信息,请参见 svcadm(1M)。
显示通知参数。请参见 smf(5)。无论选定的 FMRI 或模式如何,该选项都会显示 FMA 事件通知参数以及系统范围内的 SMF 状态转换通知参数。
显示特定的列。每个 col 应为一个列名。有关可用列,请参见下面的列。
列出每个服务实例关联的进程。服务实例也可能没有关联的进程。将显示每个进程的进程 ID、开始时间以及命令名称(对应 ps(1) 命令中的 PID、STIME 以及 CMD 字段)。
选择将给定的服务实例作为其重启程序的服务实例。
将输出按列排序。col 应为一个列名。有关可用列,请参见下面的列。多个 -s 选项的行为是累积的。
与 -s 选项一样按 col 的相反顺序排序。
如果不指定 -x 或 -l 选项,则显示详细的列:STATE、NSTATE、STIME、CTID 和 FMRI。
如果指定了 -x 选项,则显示每列说明的附加信息。
如果指定了 -l 选项,则显示应用程序类型的属性组中用户可见的属性及其描述。
显示对服务状态的说明。
如果不带参数,-x 选项将对以下服务的状态进行说明:
已经启用但未运行。
阻止其他已经启用的服务运行。
支持下列操作数:
故障管理资源标识符 (Fault Management Resource Identifier, FMRI),用于指定一个或多个实例(请参见 smf(5))。可以通过指定实例名称或服务名称的结尾部分使用 FMRI 的缩写形式。例如,以下给定的 FMRI:
svc:/network/smtp:sendmail
以下是有效的缩写形式:
sendmail :sendmail smtp smtp:sendmail network/smtp
以下是无效的缩写形式:
mail network network/smt
如果 FMRI 指定了一个服务,则该命令适用于此服务的所有实例,但与 -D 选项结合使用除外。
FMRI 的缩写形式还不稳定,因此不应在脚本或其他永久性工具中使用。
一种模式,根据 fnmatch(5) 中描述的“通配”规则,与服务实例的 FMRI 匹配。如果模式不以 svc: 开头,则前置 svc:/。以下是一个典型的通配模式示例:
qexample% svcs \*keyserv\* STATE STIME FMRI disabled Aug_02 svc:/network/rpc/keyserv:default
用于指定实例的 FMRI。
列名不区分大小写。缺省的输出格式等效于 "-o state,stime,fmri"。缺省的排序列为 STATE、STIME 以及 FMRI。
服务实例的主合同 ID。并不是所有的服务实例都有有效的主合同 ID。
根据服务的模板元素对服务进行简单介绍。服务可能没有可用的描述,在这种情况下将使用连字符 ( -) 表示空值。
服务实例的 FMRI。
服务实例的实例名称。
服务实例下一状态的缩写,如 STA 列中的描述所示。连字符表示实例没有在转换。其他方面与 STA 相同。
服务的下一状态。连字符用于表示实例没有在转换。其他方面与 STATE 相同。
服务实例的作用域名称。
服务实例的服务名称。
服务实例状态的缩写(请参见 smf(5)):
降级
禁用
传统的 rc*.d 脚本启动式实例
maintenance
脱机
online
未初始化
不存在的状态或无法识别的状态用问号 (?) 字符表示。除非同时显示了 NSTA 或 NSTATE 列,否则正在转换的实例后面将附加一个星号 (*)。
有关服务状态的说明,请参见 smf(5)。
服务实例的状态。除非同时显示了 NSTA 或 NSTATE 列,否则正在转换的实例后面将附加一个星号。
有关服务状态的说明,请参见 smf(5)。
如果服务实例在过去 24 小时内进入了当前状态,该列将显示服务实例进入当前状态的时间。否则,该列会显示服务实例进入当前状态的日期,并在空白的位置显示下划线 (_)。
示例 1 显示缺省输出
以下示例显示缺省输出:
example% svcs STATE STIME FMRI ... legacy_run 13:25:04 lrc:/etc/rc3_d/S42myscript ... online 13:21:50 svc:/system/svc/restarter:default ... online 13:25:03 svc:/milestone/multi-user:default ... online 13:25:07 svc:/milestone/multi-user-server:default ...
示例 2 列出所有的本地实例
以下示例列出 service1 服务的所有本地实例。
example% svcs -o state,nstate,fmri service1 STATE NSTATE FMRI online - svc:/service1:instance1 disabled - svc:/service1:instance2
示例 3 列出详细信息
以下示例列出详细信息。
example% svcs -v network/rpc/rstat:udp STATE NSTATE STIME CTID FMRI online - Aug_09 - svc:/network/rpc/rstat:udp
示例 4 列出详细信息
以下示例列出有关 system/service3 的所有实例的详细信息。可以根据管理的重启程序相应显示其他字段。
example% svcs -l network/rpc/rstat:udp fmri svc:/network/rpc/rstat:udp enabled true state online next_state none restarter svc:/network/inetd:default contract_id dependency require_all/error svc:/network/rpc/bind (online)
示例 5 列出进程
example% svcs -p sendmail STATE STIME FMRI online 13:25:13 svc:/network/smtp:sendmail 13:25:15 100939 sendmail 13:25:15 100940 sendmail
示例 6 使用 svcs -x 说明服务状态
(a) 在以下示例中,svcs -x 标识了被禁用的 print/server 服务是两个已启用但尚未联机的服务的根源。svcs - xv 显示这两个服务是 print/rfc1179 和 print/ipp-listener。这种情况可通过启用 print/server 或禁用 rfc1179 和 ipp-listener 进行纠正。
example% svcs -x svc:/application/print/server:default (LP print server) State: disabled since Mon Feb 13 17:56:21 2006 Reason: Disabled by an administrator. See: http://sun.com/msg/SMF-8000-05 See: lpsched(1M) Impact: 2 dependent services are not running. (Use -v for list.)
(b) 在以下示例中,NFS(远程文件系统)并未运行:
example$ svcs nfs/client STATE STIME FMRI offline 16:03:23 svc:/network/nfs/client:default
(c) 以下示例表明问题在于 nfs/status。nfs/client 正处于等待状态,因为其依赖于 nfs/nlockmgr,而后者依赖于 nfs/status:
example$ svcs -xv nfs/client svc:/network/nfs/client:default (NFS client) State: offline since Mon Feb 27 16:03:23 2006 Reason: Service svc:/network/nfs/status:default is not running because a method failed repeatedly. See: http://sun.com/msg/SMF-8000-GE Path: svc:/network/nfs/client:default svc:/network/nfs/nlockmgr:default svc:/network/nfs/status:default See: man -M /usr/share/man -s 1M mount_nfs See: /var/svc/log/network-nfs-client:default.log Impact: This service is not running.
将返回以下退出值:
命令调用成功。
致命错误。
指定的命令行选项无效。
有关下列属性的描述,请参见 attributes(5):
|
屏幕输出为 "Uncommitted"(未确定)。调用为 "Committed"(已确定)。
ps(1)、svcprop(1)、svcadm(1M)、svccfg(1M)、svc.startd(1M)、stat(2)、libscf(3LIB)、attributes(5)、fnmatch(5)、smf(5)