Zweck:Prozessbeginn oder -ende überwachen

 

Format:PROCESSMONITOR [/C [name]]

PROCESSMONITOR [/=] name STARTED | ENDED | HUNG n command

 

nameVollständiger Pfadname des zu überwachenden Prozesses
nAnzahl der Wiederholungen (oder FOREVER)
commandBefehl, der ausgeführt werden soll, wenn die Bedingung ausgelöst wird

 

/C(lear)

 

Verwendung:

 

Der Prozessname kann Wildcards enthalten. Wenn Sie keinen Pfad für den Namen angeben, vergleicht PROCESSMONITOR nur den Dateinamen-Teil der Prozessnamen.

 

Die Befehlszeile wird geparst und expandiert, bevor PROCESSMONITOR ausgeführt wird. Wenn Sie also Umleitungszeichen oder Variablen an den Befehl übergeben wollen , müssen Sie diese schützen (indem Sie sie in einfache Anführungszeichen setzen, die %-Zeichen verdoppeln oder eine Befehlsgruppierung verwenden).

 

Wenn das letzte Argument in der Zeile ein einzelnes ( ist , wird es als Beginn einer Befehlsgruppe interpretiert. PROCESSMONITOR fügt die folgenden Zeilen an (in einer Batch-Datei) oder fordert Sie zu weiteren Eingaben auf (in der Befehlszeile), bis er ein abschließendes )erhält .

 

HUNG prüft das Hauptfenster des Prozesses, um zu sehen, ob er noch auf Nachrichten reagiert. Wenn der Prozess nicht innerhalb von 5 Sekunden antwortet oder GetMessage aufruft, wird die Bedingung ausgelöst. (Dies ist normalerweise nur für GUI-Anwendungen sinnvoll.)

 

Wenn Sie keine Argumente eingeben, zeigt PROCESSMONITOR die Prozesse an, die er gerade überwacht.

 

Die Überwachung läuft asynchron in einem separaten Thread. Wenn die Bedingung ausgelöst wird, wird der Befehl sofort ausgeführt. Dies kann zu Problemen führen, wenn Sie versuchen, in die Anzeige zu schreiben oder auf Dateien zuzugreifen, während der Haupt TCC Thread auch E/A durchführt. Möglicherweise müssen Sie START oder DETACH im Befehl verwenden , um Konflikte zu vermeiden.

 

PROCESSMONITOR erstellt beim START eines Prozesses drei Umgebungsvariablen, die per Befehl abgefragt werden können .  Die Variablen werden nach  Ausführung des Befehls gelöscht.

 

_processnameDer Name des Prozesses, der gestartet wurde

 

_processpidDie PID des Prozesses

 

_processcountDie Anzahl, wie oft der Befehl ausgelöst wurde

 

Beispiel:

 

Wenn Sie benachrichtigt werden möchten, wenn "myapp" beendet wird:

 

processmonitor myapp ended forever sendmail [email protected] Myapp Myapp hat sich gerade beendet!

 

Optionen:

 

/=Zeigt den PROCESSMONITOR-Befehlsdialog an, um Ihnen beim Einstellen der Befehlszeilenoptionen zu helfen. Die Option /= kann an einer beliebigen Stelle in der Zeile stehen; zusätzliche Optionen setzen die entsprechenden Felder im Befehlsdialog.

 

/CWenn Name angegeben ist, wird der Monitor für diesen Prozessnamen entfernt. Andernfalls werden alle aktiven Prozessmonitore entfernt.