在 Oracle® Solaris 11.2 中管理系统服务

退出打印视图

更新时间: 2014 年 7 月
 
 

停止服务

可以使用 svcadm disable 命令禁用已启用或临时禁用的服务实例。禁用的实例无法重新启动。您必须先启用该实例。

如何禁用服务实例

  1. 检查是否有其他服务依赖于此实例。
    1. 列出依赖于此实例的服务。
      $ svcs -D FMRI
    2. 检查此实例是否是依赖于它的服务所必需的。

      对于通过 svcs -D 命令获得每项结果,请使用 svcs -l 命令检查该相关项是否是必需的相关项。

      如果此实例是其他服务必需的相关项,则不应禁用此实例。

  2. 禁用实例。

    服务的重启程序会尝试将指定的实例转换为 disabled 状态。

    可以永久或临时禁用实例。永久禁用在系统重新引导后仍然有效,并且是缺省设置。临时禁用仅会持续到重新引导之前。

    • 永久禁用实例。
      $ svcadm disable FMRI
    • 临时禁用实例。

      使用 -t 选项指定临时禁用。

      $ svcadm disable -t FMRI

      如果希望现在禁用实例,但在下次重新引导时运行,请确保该实例正在运行(处于 onlinedegraded 状态),然后临时禁用该实例。要验证实例是否为临时禁用,请使用 svcs -l 命令并查看 enabled 行:

      enabled      false (temporary)
    • 同步禁用实例。

      如果指定 -s 选项,则 svcadm 会禁用实例并等待该实例进入 disabled 状态后才返回。svcadm 命令在实例进入 disabled 状态或确定实例需要管理员干预才能进入 disabled 状态后返回。

      -T 选项和 -s 选项一起使用,以指定完成转换或确定转换无法完成的上界(以秒为单位)。

      $ svcadm disable -sT 10 FMRI
  3. 验证实例是否已禁用。
    $ svcs FMRI
示例 3-3  禁用服务实例

此示例显示 pkg/update:default 服务实例开始时处于联机状态,并且没有其他服务依赖于此实例。svcadm disable 命令成功执行,实例当前处于 disabled 状态,重新启动尝试失败。

$ svcs pkg/update
STATE          STIME    FMRI
online          7:18:17 svc:/application/pkg/update:default
$ svcs -D pkg/update:default
STATE          STIME    FMRI
$ svcadm disable pkg/update
$ svcs pkg/update
STATE          STIME    FMRI
disabled       22:51:12 svc:/application/pkg/update:default
$ svcadm restart pkg/update:default
$ svcs pkg/update
STATE          STIME    FMRI
disabled       22:51:12 svc:/application/pkg/update:default