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

退出打印视图

更新时间: 2014 年 7 月
 
 

重新读取服务配置

当您更改服务配置时,更改内容不会立即显示在运行中的快照内。这些更改内容将作为当前或编辑中的属性值存储在服务配置系统信息库中。刷新操作会使用编辑中配置的值更新指定服务实例的运行中快照。

svcadm refreshsvccfg refresh 命令均执行以下步骤:

  1. 创建新的运行中快照以将编辑中的属性提交至运行中的快照。

  2. 运行实例的 refresh 方法(如果存在 refresh 方法并且实例处于 onlinedegraded 状态)。refresh 方法应该通知应用程序已发生更改。refresh 方法可以从运行中的快照重新读取属性值。即使不存在 refresh 方法,运行中快照的配置也会更新。

可对服务实例运行 svcadm refresh 命令。对服务实例或父服务运行 svccfg refresh 命令。如果指定了服务,则 svccfg refresh 命令会刷新该服务的所有实例。虽然仅捕获服务实例的快照,不捕获父服务的快照,但是服务实例会继承父服务的属性。更改的父服务属性会显示在服务实例快照中(如果实例未覆盖那些更改)。

有些更改(例如相关项更改)会立即生效。其他更改直到服务重新启动后才会生效,如重新启动服务中所述。应用程序运行时无法进行的更改需要先刷新再重新启动才能生效。应用程序运行时无法进行的更改示例包括关闭或打开套接字或者重置环境变量。

如果为 svcadm refresh 命令指定 -s 选项,则 svcadm 会刷新实例并等待该实例进入 onlinedegradedmaintenance 状态后才返回。svcadm 命令在实例进入上述状态之一或确定实例需要管理员干预才能进入上述状态之一后返回。将 -T 选项和 -s 选项一起使用,以指定完成转换或确定转换无法完成的上界(以秒为单位)。