跳过导航链接 | |
退出打印视图 | |
![]() |
在 Oracle Solaris 11.1 中管理服务和故障 Oracle Solaris 11.1 Information Library (简体中文) |
SMF 包括一个主重启程序守护进程和多个委托重启程序。此外,每个服务或服务实例均可在属性中存储配置数据。这些属性按属性组进行组织,从而简化了管理工作。
svc.startd 守护进程是主进程启动程序和重启程序。该守护进程负责管理整个系统的服务依赖性。该守护进程承担了以前由 init 承担的职责,即在适当的运行级别启动相应的 /etc/rc*.d 脚本。首先,svc.startd 检索服务配置系统信息库中的信息。接着,该守护进程在服务的依赖性得以满足时启动服务。该守护进程还负责重新启动失败的服务,并负责关闭不再满足依赖性的服务。该守护进程使用操作系统事件(例如进程停止)来跟踪服务状态。
有些服务在启动时具有一组共同的行为。为了提供这些服务之间的共同性,委托重启程序可能会负责这些服务。另外,委托重启程序可用来提供更复杂的或特定于应用程序的重新启动行为。委托重启程序可以支持一组不同的方法,但是会将相同的服务状态作为主重启程序导出。重启程序的名称随服务一同存储。委托重启程序的最新示例是 inetd,它能够按需启动 Internet 服务,而不是使服务始终保持运行。可以使用 svcs -l 命令来显示为每个服务定义的重启程序。
服务配置系统信息库中的所有信息作为一组属性进行存储,这些属性按属性组进行分组。属性组用于对不同类型的服务信息进行分组。属性组可以应用于系统以及单个服务。常用的一些系统定义属性组包括:
general-包含有关服务实例的信息,包括 general/enabled 属性,该属性定义实例是否启用
restarter-包含服务的重启程序存储的运行时信息,包括 restarter/state 属性,该属性显示服务的当前状态
start-包含启动方法定义,包括 start/exec 属性,该属性定义为启动服务所执行的程序
另一个常用属性组是 config。config 属性组不是系统定义的,所以服务开发者可以使用它来保存服务数据。有关属性和属性组的更多信息,请参见 smf(5) 手册页。