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

退出打印视图

更新时间: 2014 年 7 月
 
 

如何将运行控制脚本转换为 SMF 服务

此过程说明如何将运行控制脚本替换为 SMF 服务清单,以便可以通过 SMF 管理该运行控制服务。要转换运行控制脚本,请对带有 -s 选项的 svcbundle 命令使用 rc-script 名称。有关更多信息,请参见 svcbundle(1M) 手册页,或者输入 svcbundle help rc-script

  1. 确定服务模型。

    缺省情况下,svcbundle 会创建一个 transient 服务。确定此运行控制脚本是否启动任何长时间运行的守护进程,以及是否是一个 contract 服务。有关服务模型的信息,请参见服务模型svc.startd(1M) 手册页。

  2. 创建一个初始清单。

    在此示例中,服务名称为 ex_con,并且是在级别 2 运行的合同服务。

    $ svcbundle -o /tmp/ex_con.xml -s service-name=ex_con
          -s rc-script=/etc/init.d/ex_con:2 -s model=contract
  3. 对清单进行任何必要的更改。

    验证 /tmp/ex_con.xml 清单中的内容是否为您所需的内容。根据需要添加注释。

  4. 将清单复制到标准目录。
    $ cp /tmp/ex_con.xml /lib/svc/manifest/site/ex_con.xml
  5. 停止现有服务。
    $ /etc/init.d/ex_con stop
  6. 禁用运行控制脚本。

    从相应的 rcn.d 目录中删除任何指向运行控制脚本的链接。

  7. 导入清单并启动服务。
    $ svcadm restart manifest-import
  8. 列出新服务。

    验证新服务是否存在以及是否处于预期的状态。

    $ svcs ex-con