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.

Anmerkung:
Beachten Sie, dass das "pmon"-Ereignis nur in einem Skript verfügbar ist, das innerhalb von PMON ausgeführt wird. Andere Manager können kein "pmon"-Ereignis erzeugen.
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)

Tabelle 1.
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.

Anmerkung:

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).