Sun Cluster 数据服务开发者指南(适用于 Solaris OS)

Stop 方法

RGM 将对群集节点调用资源类型实现的 Stop 回调方法,以停止该应用程序。Stop 方法的回调语义要求:

对于大多数应用程序来说,DSDL 实用程序 scds_pmf_stop() 应足以满足其使用要求,首先它将尝试以缓和的方式(通过 SIGTERM)停止该应用程序(假设该应用程序是在 PMF 控制下通过 scds_pmf_start() 启动的),然后向该进程传送 SIGKILL。有关此实用程序的更多信息,请参见PMF 函数

以下是迄今为止我们一直在使用的代码模型,其中假设用来停止应用程序的应用程序特定函数为 svc_stop()svc_stop() 的实现是否使用 scds_pmf_stop() 与此处介绍的内容无关,而是取决于该应用程序是否是在 PMF 控制下通过 Start 方法启动的),Stop 方法可用以下方式实现:

if (scds_initialize(&handle, argc, argv)!= SCHA_ERR_NOERR)
{
   return (1);   /* Initialization Error */
}
return (svc_stop(handle));

不在 Stop 方法的实现中使用 svc_validate() 方法,因为即使当前系统中有问题,Stop 方法也应尝试在此节点上停止应用程序。