Da die xfnts_monitor_start-Methode scds_pmf_start() zum Starten des Dienstes unter PMF verwendet, verwendet xfnts_monitor_stop zum Stoppen des Monitor-Dämons scds_pmf_stop().
Der erste Aufruf in xfnts_monitor_stop findet an scds_initialize() statt, das einige erforderliche housekeeping-Funktionen ausführt. Der Abschnitt scds_initialize()-Funktion und die Online-Dokumentation zu scds_initialize(3HA) enthalten weitere Informationen.
Die xfnts_monitor_stop()-Methode ruft die mon_stop -Methode auf, die in der Datei xfnts.c wie folgt definiert ist:
scds_syslog_debug(DBG_LEVEL_HIGH, "Calling scds_pmf_stop method"); err = scds_pmf_stop(scds_handle, SCDS_PMF_TYPE_MON, SCDS_PMF_SINGLE_INSTANCE, SIGKILL, scds_get_rs_monitor_stop_timeout(scds_handle)); if (err != SCHA_ERR_NOERR) { scds_syslog(LOG_ERR, "Failed to stop fault monitor."); return (1); } scds_syslog(LOG_INFO, "Stopped the fault monitor."); return (SCHA_ERR_NOERR); /* Successfully stopped monitor */ }
Beachten Sie folgende Punkte zum Aufruf in svc_mon_stop() der scds_pmf_stop()-Funktion:
Das SCDS_PMF_TYPE_MON-Argument identifiziert das Programm, das als Fehler-Monitor gestartet werden soll. Diese Methode kann auch einen Datendienst oder eine andere Anwendung stoppen.
Das SCDS_PMF_SINGLE_INSTANCE-Argument identifiziert dies als Einfachinstanzenressource.
Das SIGKILL-Argument identifiziert das zum Stoppen der Ressourceninstanz zu verwendende Signal. Wenn dieses Signal die Instanz nicht stoppen kann, gibt scds_pmf_stop() einen Zeitüberschreitungsfehler zurück. Weitere Informationen finden Sie in der Online-Dokumentation zu scds_pmf_stop(3HA).
Der Zeitüberschreitungswert entspricht der Monitor_stop_timeout-Eigenschaft der Ressource.
Vor der Beendigung ruft die xfnts_monitor_stop-Methode scds_close() auf, um Ressourcen wiederzuverwenden, die von scds_initialize () zugewiesen wurden. Im Abschnitt scds_initialize()-Funktion und in der Online-Dokumentation zu scds_close(3HA) finden Sie weitere Informationen.