运行中的服务可以配置为在其相关项之一停止或刷新时重新启动。如果运行中服务(处于 online 或 degraded 状态)未满足其相关项,则该服务会转换至 offline 状态。如果服务在相关项停止或刷新后重新启动,则可能会重新会满足相关项,相关服务会转换回运行中状态。
以下因素确定服务是否在 require_all、require_any 或 optional_all 相关项停止或刷新后重新启动:
相关项是停止还是刷新。如果是停止,相关项是因为错误(例如硬件错误或核心转储)还是因为某些其他原因(例如管理性操作)而停止。
相关项的 restart_on 属性值。可能的值包括 none、error、restart 和 refresh。
如下表中所示,如果相关项的 restart_on 属性值为 none,则当相关项停止或刷新时相关服务不重新启动。如果相关项的 restart_on 属性值为 refresh,则当相关项停止或刷新时相关服务始终重新启动。如果 restart_on 的值为 error,则仅当相关项因错误而停止时相关服务才会重新启动。如果 restart_on 的值为 restart,则仅当相关项刷新时相关服务才会重新启动。
|
列出服务依赖的实例显示 system-repository 服务具有两个 require_all 相关项以及一个 optional_all 相关项。下面的命令显示 system-repository 服务在 milestone/network 服务或 system/filesystem/autofs 服务因错误而停止时重新启动,但是在它们因其他原因而停止或刷新时则不重新启动。system-repository 服务在 system/filesystem/local 服务刷新或因任何原因而停止时不重新启动。
$ svccfg -s system-repository:default listprop -o propname,propval '*restart_on' network/restart_on astring error filesystem-local/restart_on astring none autofs/restart_on astring error