PMON-Crash-Aktionsskript
PMON sucht nach einem CTRL-Skript für "Absturzaktionen" namens "pmonActions" (entweder .ctl oder .ctc) und startet es beim Start von PMON.
Die bisher verwendeten Shell/Batchdateien werden weiterhin verwendet.
PMON löst Systemereignisse mit dem Namen "pmon" aus, zu denen ein Benutzer sysConnect() ausführen kann.
main()
{
sysConnect("callback", "pmon"); // The event is "pmon"
}
callback(string event, mapping data)
{
DebugN(event, data);
if ( data.contains("idx") )
{
int idx = data["idx"];
DebugN(pmonGetName(idx), pmonGetNum(idx), pmonGetOptions(idx));
}
}
Die Callback-Funktion hat die Argumente:
callback(string event, mapping data)
| Parameter | Beschreibung |
|---|---|
| event | Das Ereignis ist "pmon". |
| data |
Data hat folgende Einträge, wobei die Schlüssel immer vom Typ String sind: "type" ... die Art des Ereignisses. Dies kann entweder "logFileChanged" sein, wenn eine Logdatei ihre maximale Größe erreicht hat, oder einer der Strings für das crashAction-Skript in Managerüberwachung z.B. RESTART_ALL usw. Wenn "type" "logFileChanged" ist, gibt es auch zwei Mapping-Einträge: "oldName" und "newName" übergeben die Logdateinamen vor und nach dem Dateiwechsel. In allen anderen Fällen enthält das Mapping den "idx"-Schlüssel, der den Index des Managers übergibt, der dann für alle pmonGet*-Funktionen in CTRL, pmonGetPID(idx), pmonGetName(idx), usw. verwendet werden kann. |
Beachten Sie, dass PMON kein Manager ist, PMON hat z.B. keine Verbindung zum DATA- oder EVENT-Manager und kann daher nicht auf Datenpunkte zugreifen. PMON erkennt keine DP- oder Manager-bezogenen Funktionen (z. B. dpSet() usw. und deren Aufruf führt zu "Funktion nicht definiert"-Fehlern).
