此过程说明如何将运行控制脚本替换为 SMF 服务清单,以便可以通过 SMF 管理该运行控制服务。要转换运行控制脚本,请对带有 -s 选项的 svcbundle 命令使用 rc-script 名称。有关更多信息,请参见 svcbundle(1M) 手册页,或者输入 svcbundle help rc-script。
缺省情况下,svcbundle 会创建一个 transient 服务。确定此运行控制脚本是否启动任何长时间运行的守护进程,以及是否是一个 contract 服务。有关服务模型的信息,请参见服务模型和 svc.startd(1M) 手册页。
在此示例中,服务名称为 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
验证 /tmp/ex_con.xml 清单中的内容是否为您所需的内容。根据需要添加注释。
$ cp /tmp/ex_con.xml /lib/svc/manifest/site/ex_con.xml
$ /etc/init.d/ex_con stop
从相应的 rcn.d 目录中删除任何指向运行控制脚本的链接。
$ svcadm restart manifest-import
验证新服务是否存在以及是否处于预期的状态。
$ svcs ex-con