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

Stop 方法

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

DSDL 实用程序 scds_pmf_stop() 在第一次尝试使用 SIGTERM 软停止应用程序时应当足以用于大多数应用程序。此函数随后将 SIGKILL 传递给进程。此函数假定应用程序是使用 scds_pmf_start() 在 PMF 下启动的。有关此实用程序的详细信息,请参见PMF 函数

假定停止应用程序的应用程序特定函数名为 svc_stop(),它采用以下代码实现了 Stop 方法:

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

前述 svc_stop() 函数的实现与是否包括 scds_pmf_stop() 函数是不相关的。确定是否包括 scds_pmf_stop() 函数取决于应用程序是否通过 Start 方法在 PMF 下启动。

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