电脑技术学习

使用libscf.so实现SMF服务refresh方法

dn001

  在SMF中,配置被称为属性(property),配置值称为属性值(property value)。利用svccfg(1M)工具可以设置服务的属性和属性值。服务配置缺省保存在SMF全局资源库/etc/svc/repository.db中。 SMF的svc.configd进程负责存取资源库。当其他SMF进程或工具需要配置信息时,可以通过连接svc.configd进程从资源库中获取配置,同样也通过svc.configd将配置存入资源库。用户服务程序也可以通过使用libscf.so提供的API与svc.configd进程相连接,从资源库中存取服务配置。

  配置SMF服务最简单的方式是使用svccfg(1M)工具。svccfg(1M)工具是一个交互式的配置修改工具,它包含许多简单实用的命令(具体命令可以在进入svccfg后使用help查询)。比如常用命令有:

  import命令可将以xml格式定义的用户服务加载为SMF服务并启动运行。

  delete命令可以删除用户服务。

  list和select命令可以查看和选取系统中现有的服务。

  listprop、editprop、setprop、delprop命令可以查看和修改当前服务的配置属性。

  另外,SMF还支持配置快照(snapshot)功能,通过它可以保留服务在某一时刻的属性配置,并在需要的时候可通过revert将当前配置恢复为某一时刻的快照配置。快照相关的命令包括listsnap,selectsnap和revert。

  无论采用何种方式修改了当前服务的配置,这些修改只影响到资源库而非正在运行的服务进程。如果要求当前服务能够马上应用新配置,则用户在退出svccfg(1M)工具后需要使用svCADm refresh命令指示相关服务重新读取配置并采用新配置。

标签: