Da die xfnts_monitor_start-Methode scds_pmf_start() zum Starten des Monitor-Dämons unter PMF verwendet, setzt xfnts_monitor_stop die scds_pmf_stop()-Methode zum Stoppen des Monitor-Dämons ein.
Der erste Aufruf in xfnts_monitor_stop erfolgt an scds_initialize(). Diese Funktion führt einige wichtige Systemverwaltungs-Funktionen aus (weitere Einzelheiten finden Sie unter scds_initialize()-Funktion und in der Online-Dokumentation unter scds_initialize(3HA)).
Die xfnts_monitor_stop()-Methode ruft die in xfnts.c definierte mon_stop-Methode folgendermaßen auf:
scds_syslog_debug(DBG_LEVEL_HIGH, "scds_pmf_stop-Methode wird aufgerufen"); 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, "Fehler-Monitor konnte nicht gestoppt werden."); return (1); } scds_syslog(LOG_INFO, "Fehler-Monitor gestoppt."); return (SCHA_ERR_NOERR); /* Monitor erfolgreich gestoppt */ }
Bezüglich des Aufrufs in svc_mon_stop() an die scds_pmf_stop()-Funktion ist Folgendes zu beachten.
Der Parameter SCDS_PMF_TYPE_MON identifiziert das zu stoppende Programm als Fehler-Monitor — mit dieser Methode kann auch ein Datendienst oder ein anderer Anwendungstyp gestoppt werden.
Der Parameter SCDS_PMF_SINGLE_INSTANCE identifiziert eine Ressource mit einer einzigen Instanz.
Der SIGKILL-Parameter identifiziert das Signal, mit dem die Ressourceninstanz gestoppt werden soll. Wenn dieses Signal die Instanz nicht stoppen kann, gibt scds_pmf_stop() einen Zeitüberschreitungsfehler zurück. Weitere Einzelheiten finden Sie in der Online-Dokumentation unter scds_pmf_stop(3HA).
Der Zeitüberschreitungswert ist der Wert der Monitor_stop_timeout-Eigenschaft der Ressource.
Vor der Beendigung ruft die xfnts_monitor_stop-Methode scds_close() auf, um die von scds_initialize() zugewiesenen Ressourcen zurückzufordern. Weitere Einzelheiten finden Sie unter scds_initialize()-Funktion und in der Online-Dokumentation unter scds_close(3HA).