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

Stop 方法

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

对于大多数应用程序来说,DSDL 公用程序 scds_pmf_stop() 应该就满足要求,因为它首先试图软(通过 SIGTERM)停止应用程序(假设它是通过 scds_pmf_start() 在 PMF 控制下启动的),然后向进程发送 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));

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