svcs - 报告服务状态
svcs [-aHpv?] [-o col[,col...]] [-R FMRI-instance]... [-sS col]... [FMRI | pattern]...
svcs -d | -D [ -Hpv?] [-o col[, col...]] [-sS col]... [FMRI | pattern] ...
svcs -L [-v] [ FMRI]...
svcs -l [-v] [ FMRI | pattern]...
svcs -n [FMRI] ...
svcs -x [-v] [ -L] [FMRI]...
svcs 命令显示有关服务配置系统信息库中记录的服务实例的信息。
svcs [-aHpv?] 命令形式输出由参数指定的服务实例的单行状态列表。每个实例只列出一次。如果不指定任何参数,则会列出所有已启用的服务实例(即使被临时禁用),这些服务实例将包含以下各列。
svcs -d | -D 命令形式输出由参数指定的服务实例的依赖性或依赖项的单行状态列表。
svcs -L 命令形式输出日志内容。有关更多信息,请参见下面的“选项”。
svcs -l 命令形式输出有关特定服务和实例的详细信息。
svcs -n 命令形式输出通知参数。有关更多信息,请参见下面的“选项”。
svcs -x 命令形式说明服务实例的状态。每个参数都对应一组可读的文本,用于说明服务的状态以及服务处于这种状态的原因。如果不指定任何参数,将描述有问题的服务。
标准错误流将列显错误消息。
该命令的输出可适当用作 svcadm(8) 命令的输入。
支持以下选项:
显示一条扩展的用法消息,包含列说明符。
Show all services, including those which are disabled or incomplete.Additional information regarding incomplete services is available using svcs –x <service>.
如果选定多个服务,则该选项无效。
显示指定的服务实例所依赖的服务或服务实例。
显示依赖于指定的服务或服务实例的服务实例。
省略列标题。
列显选定服务实例的服务重启程序创建的日志文件的路径。
使用 –x 时,要么从正常退出、没有错误的方法的最后一条日志消息之后开始输出日志文件内容,要么输出日志文件的最后 10 行(取两者中距离该服务实例说明的末尾最近的那一个)。如果正常退出、没有错误的方法的日志消息位于日志文件的最后一行,则输出日志文件的最后 5 行。
使用 –v 时,如果只有一个服务实例匹配输入,则输出日志文件的内容。如果有多个服务实例与输入匹配,则输出每个服务实例的日志文件的最后 10 行。
(字母 ell。)显示有关选定的服务和服务实例的所有可用信息。每行显示一个服务属性。不同实例的信息由空行隔开。
以下的特定属性需要进行详细说明:
有关依赖项的信息。首先显示分组与 restart_on 属性,并用正斜杠 (/) 隔开。然后列出每个实体及其状态。有关状态的信息,请参见 smf(7)。除了标准状态,每个服务依赖项还可以具有以下状态说明:
系统中未定义此类服务。
故障管理资源标识符 (Fault Management Resource Identifier, FMRI) 无效。请参见 smf (7)。
该实体是一个有多个实例的服务。
文件依赖项只能具有以下状态说明之一:
系统中不存在此类文件。
该文件存在。
如果该文件在 svc.startd 上次评估服务的依赖项时不存在,该命令可能会认为依赖项不符合条件。svcadm refresh 将强制重新评估依赖项。
stat(2) 由于 ENOENT 之外的原因失败。
有关依赖项、分组以及 restart_on 值的其他详细信息,请参见 smf(7)。
是否启用服务,以及是临时启用还是禁用服务(直到系统下一次重新引导)。前者指定为 true 或 false,后者根据是否存在 (temporary) 的情况进行指定。
服务可能会因管理员运行 svcadm disable -t、使用 svcadm milestone 或将系统引导到特定里程碑而被临时禁用。有关详细信息,请参见 svcadm(8)。
输出通知参数。请参见 smf(7)。无论选定的 FMRI 或模式如何,该选项都会列显 FMA 事件通知参数以及系统范围内的 SMF 状态转换通知参数。
列显特定的列。每个 col 应为一个列名。有关可用列,请参见下文的列。
列出每个服务实例关联的进程。服务实例也可能没有关联的进程。将显示每个进程的进程 ID、开始时间以及命令名称(对应 ps(1) 命令中的 PID、STIME 以及 CMD 字段)。
选择将给定的服务实例作为其重启程序的服务实例。
将输出按列排序。col 应为一个列名。有关可用列,请参见下文的列。多个 –s 选项的行为是累积的。
与 –s 选项一样按 col 的相反顺序排序。
如果不指定 –x 或 –l 选项,则显示详细的列:STATE、NSTATE、STIME 、CTID 和 FMRI。
如果指定了 –x 选项,则显示每列说明的附加信息。
如果指定了 –l 选项,则显示应用程序类型的属性组中用户可见的属性及其说明。
显示对服务状态的说明。
如果不带参数,–x 选项将对以下服务的状态进行说明:
已经启用但未运行。
阻止其他已经启用的服务运行。
处于降级状态。
Displays date/time in the legacy non-parsable format instead of ISO 8601:22019.
支持下列操作数:
故障管理资源标识符 (Fault Management Resource Identifier, FMRI),用于指定一个或多个实例(请参见 smf(7))。可以通过指定实例名称或服务名称的结尾部分使用 FMRI 的缩写形式。例如,以下给定的 FMRI:
svc:/network/smtp:sendmail
以下是有效的缩写形式:
sendmail :sendmail smtp smtp:sendmail network/smtp
以下是无效的缩写形式:
mail network network/smt
如果 FMRI 指定了一个服务,则该命令适用于此服务的所有实例,但与 –D 选项结合使用除外。
FMRI 的缩写形式不稳定,不应在脚本或其他永久性工具中使用。
一种模式,根据 fnmatch(7) 中描述的“通配”规则,与服务实例的 FMRI 匹配。如果模式不以 svc: 开头且不是 glob 模式,则在前面附加 svc:/。如果模式是 glob 模式,则不经修改地用于匹配。
以下是一个典型的通配模式示例:
qexample% svcs \*ssh\* STATE STIME FMRI online 2022-03-14T10:25:22 svc:/network/ssh:default
请注意,如果更改模式以删除前导 glob,则会导致行为不同:
qexample% svcs ssh\* svcs: Pattern 'svc:/ssh:*' doesn't match any instances STATE STIME FMRI
用于指定实例的 FMRI。
列名不区分大小写。缺省的输出格式等效于 "–o state,stime,fmri"。缺省的排序列为 STATE、STIME 以及 FMRI。
服务实例的主合同 ID。并不是所有的服务实例都有有效的主合同 ID。
根据服务的模板元素对服务进行简单介绍。服务可能没有可用的说明,在这种情况下将使用连字符 (-) 表示空值。
服务实例的 FMRI。
服务实例的实例名称。
服务实例下一状态的缩写,如 STA 列中的说明所示。连字符表示实例没有在转换。其他方面与 STA 相同。
服务的下一状态。连字符用于表示实例没有在转换。其他方面与 STATE 相同。
服务实例的作用域名称。
服务实例的服务名称。
服务实例状态的缩写(请参见 smf(7)):
降级
禁用
传统的 rc*.d 脚本启动式实例
maintenance
脱机
联机
未初始化
不存在的状态或无法识别的状态用问号 (?) 字符表示。除非同时显示了 NSTA 或 NSTATE 列,否则正在转换的实例后面将附加一个星号 (*)。
有关服务状态的说明,请参见 smf(7)。
服务实例的状态。除非同时显示了 NSTA 或 NSTATE 列,否则正在转换的实例后面将附加一个星号。
有关服务状态的说明,请参见 smf(7)。
The date and time (in ISO 8601-1:2019 format) the service entered the state.The legacy, non-parsable, format is displayed when the -i option is provided or when SMF_SVCS_DATA_FMT=legacy is set in the environment.
服务实例的辅助状态(如果适用)。没有辅助状态的服务实例将在此列中显示一个 '-' 符号。
The last time (in ISO 8601-1:2019 format) a periodic service instance has run.不是定期且上次未执行的服务实例会在此列中显示一个 '-' 字符。The legacy, non-parsable, format is displayed when the -i option is provided or when SMF_SVCS_DATA_FMT=legacy is set in the environment.
有关定期服务的说明,请参见 svc.periodicd(8)。
The next time (in ISO 8601-1:2019 format) a periodic service instance is scheduled to run.Service instances that are not periodic do not have a next scheduled run and will display a '-' character in this column.The legacy, non-parsable, format is displayed when the -i option is provided or when SMF_SVCS_DATA_FMT=legacy is set in the environment.
有关定期服务的说明,请参见 svc.periodicd(8)。
以下示例显示缺省输出:
example% svcs STATE STIME FMRI legacy_run 2022-03-14T10:25:31 lrc:/etc/rc2_d/S89PRESERVE disabled 2022-03-14T10:25:20 svc:/system/devices/ovn-virtual-io:default disabled 2022-03-31T11:48:16 svc:/system/name-service/cache:default online 2022-03-14T10:25:10 svc:/system/early-manifest-import:default online 2022-03-14T10:25:10 svc:/system/svc/restarter:default online 2022-03-14T10:25:11 svc:/milestone/immutable-setup:default ...示例 2 列出所有的本地实例
以下示例列出 service1 服务的所有本地实例。
example% svcs -o state,nstate,fmri service1 STATE NSTATE FMRI online - svc:/service1:instance1 disabled - svc:/service1:instance2示例 3 Listing Verbose Information
以下示例列出详细信息。
example% svcs -v network/rpc/bind STATE NSTATE STIME CTID FMRI online - 2022-03-14T10:25:25 128 svc:/network/rpc/bind:default示例 4 Listing Detailed Information
This example lists detailed information about all instances of system/rad.可以根据管理的重启程序相应显示其他字段。
example% svcs -l system/rad fmri svc:/system/rad:local name Remote Administration Daemon enabled true state online next_state none state_time 2022-03-18T11:59:06 logfile /var/svc/log/system-rad:local.log restarter svc:/system/svc/restarter:default contract_id 2006 manifest /lib/svc/manifest/system/rad.xml dependency require_all/none svc:/system/filesystem/minimal:default (online) fmri svc:/system/rad:remote name Remote Administration Daemon enabled true state online next_state none state_time 2022-04-13T12:31:57 logfile /var/svc/log/system-rad:remote.log restarter svc:/system/svc/restarter:default contract_id 12333 manifest /lib/svc/manifest/system/rad.xml dependency require_all/refresh svc:/system/identity:cert (online) dependency require_all/none svc:/milestone/multi-user (online) dependency require_all/none svc:/system/filesystem/minimal:default (online)示例 5 Listing Processes
example% svcs -p sendmail STATE STIME FMRI online 2022-03-14T10:25:26 svc:/network/smtp:sendmail 2022-03-14T10:25:46 1489 sendmail示例 6 使用 svcs –x 说明服务状态
(a) In this example, svcs –x has identified that the identity:cert service being in maintenance is the root cause of two services which are enabled but not online. svcs –xv shows that those services are system/rad:remote and system/webui.This situation can be rectified by either clearing identity:cert or disabling system/rad:remote and system/webui.
example% svc:/system/identity:cert (System identity (X.509 certificate)) State: maintenance since 2022-04-13T12:18:35 Reason: Maintenance requested by an administrator. See: http://support.oracle.com/msg/SMF-8000-63 See: identity(7) See: /var/svc/log/system-identity:cert.log Impact: 2 dependent services are not running. (Use -v for list.)
example% svc:/system/identity:cert (System identity (X.509 certificate)) State: maintenance since 2022-04-13T12:18:35 Reason: Maintenance requested by an administrator. See: http://support.oracle.com/msg/SMF-8000-63 See: man -M /usr/share/man -s 7 identity See: /var/svc/log/system-identity:cert.log Impact: 2 dependent services are not running: svc:/system/rad:remote svc:/system/webui/server:default
(b) 在以下示例中,NFS(远程文件系统)并未运行:
example$ svcs nfs/client STATE STIME FMRI offline 2022-03-14T10:25:12 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 2022-03-14T10:25:12 Reason: Service svc:/network/nfs/status:default is not running because a method failed repeatedly. See: http://support.oracle.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 8 mount_nfs See: /var/svc/log/network-nfs-client:default.log Impact: This service is not running.
When set to legacy the legacy, non-parsable, date/time format is used instead of ISO 8601-1:2019.For the legacy format if the date/time is with the last 24 hours only the time is displayed, otherwise the month and day with underscores (_) in place of blanks is displayed.The value of iso8601 can be set to explicitly request ISO 8601-1:2019 format, though this is the default if the variable is not set.
将返回以下退出值:
Successful command invocation.
致命错误。
指定的命令行选项无效。
有关下列属性的说明,请参见 attributes(7):
|
屏幕输出为 Uncommitted(未确定)。调用为 Committed(已确定)。
ps(1)、svcprop(1)、stat(2)、libscf(3LIB)、attributes(7)、fnmatch(7)、smf(7)、svc.periodicd(8)、svc.startd(8)、svcadm(8)、svccfg(8)
Support for the –i option and variable SMF_SVCS_DATE_FMT, was added in the Oracle Solaris 11.4.48 release.
The svcs command was added in Solaris 10.