Wenn Sie ein Teilprogramm debuggen wollen, das beim Start der Anwendung automatisch abläuft, z.B. Teilprogramme für einen Start-Exit oder das MSGTAC-Programm für Start-Meldungen, müssen Sie die Anwendung speziell starten:
Sie starten den Mainprozess als Hintergrundprozess wie bei einer UTM-Produktivanwendung. Sie müssen jedoch zusätzlich den Parameter TEST angeben.
utmpfad
/ex/utmmain
filebase startparam-fileTEST &
Die Startparameterdatei müssen Sie immer vollqualifiziert angeben, auch dann, wenn der Standardname verwendet wird.
Der Mainprozess utmmain erzeugt dann nur den Timerprozess und weitere Betriebsmittel wie z.B. die Pipe zur Kommunikation mit den Workprozessen. Es werden aber keine Workprozesse erzeugt.
Der Mainprozess fordert Sie mit der Meldung U244 auf, einen oder mehrere Workprozesse zu starten. Beachten Sie bitte, dass beim Testen im Dialog der zweite Workprozess ein UTM-System-Prozess ist und deshalb ggf. drei Workprozesse gestartet werden müssen, wenn z.B. Programme mit PGWT getestet werden sollen.
Den ersten Workprozess utmwork müssen Sie unter der Kontrolle der Testhilfe mit folgenden Argumenten starten:
utmwork
version appliname filebase startpar pid id modeDie gesamte Anweisung muss ohne Zeilenvorschub geschrieben werden, auch wenn sie mehr als eine Zeile beansprucht. Die Argumente haben folgende Bedeutung:
version
appliname
filebase
startpar
pid
Verwendete openUTM-Version, z.B. V07.0A23
Name der Anwendung wie in MAX APPLINAME generiert.
Dateiverzeichnis der Anwendung (vollqualifiziert)
Datei, in der die Startparameter definiert sind (vollqualifiziert)
Prozess-ID des Vorgängerprozesses bei PEND ER bzw. Wert 0 bei zusätzlichen Prozessen
id
ID des utmwork-Prozesses, beim Starten des ersten und eines zusätzlichen Workprozess (Mode=Y oder N) geben Sie immer den Wert 0 an.
Im Fall von Mode=E ist immer der Wert aus der korrespondierenden U244 Meldung anzugeben.
mode
Kennzeichen für den Startmodus
Y: erster Workprozess der Anwendung
N: zusätzlicher neuer Workprozess
E: nach PEND ER nachgestartetBeispiel für dbx
run V07.0A23 sample /home/utmbsp /home/utmbsp/startparameter 0 0 Y
Die Parameter für das Starten der Workprozesse entnehmen Sie aus der dazugehörigen Meldung U244.
Workprozesse sollten immer dann nachgestartet werden, wenn der Mainprozess mit der Meldung U244 dazu auffordert.
Zusätzliche Prozesse benötigen als letztes Argument immer den Wert N.
utmwork
version appliname filebase startpar pid idN
Beispiel für dbx
run V07.0A23 sample /home/utmbsp /home/utmbsp/startparameter
pid idN
Sie können nicht mehr Workprozesse starten als in der Startparameterdatei bei TASKS= angegeben wurden. Die Maximalzahl der Workprozesse wird bei der UTM-Generierung in der MAX-Anweisung festgelegt. Versuchen Sie mehr Workprozesse zu starten, führt dies zu Startfehlern.
Nach dem Beenden der UTM-Anwendung ist der Mainprozess mit dem Kommando
kill
zu löschen, wenn nicht alle Workprozesse die vorgesehene Prozess-Endebehandlung vollständig durchlaufen haben.Beispiel
kill -9 1234
Dabei ist 1234 die Prozess-ID von utmmain.
Eine ausführliche Beschreibung der Arbeitsschritte zum Starten finden Sie im openUTM-Handbuch „Einsatz von openUTM-Anwendungen auf Unix-, Linux- und Windows-Systemen“.
Verhalten bei Fehlern
Falls ein Workprozess einen PENDER-Dump erzeugt, wird dieser Workprozess beendet und gibt dabei eine U244-Meldung aus. Der Mainprozess startet dann keinen neuen Workprozess. Sie müssen den Workprozess dann manuell nachstarten und als letzten Parameter E angeben. Die genauen Parameter können aus der Meldung U244 des beendeten Workprozesses übernommen werden. Als pid geben Sie die Prozess-ID des Vorgänger-Workprozesses an, der sich mit PEND ER beendet hat.
utmwork version appliname filebase startpar pid id E
Wird ein Workprozess fehlerhaft beendet, sollten Sie vor dem nächsten Start der Anwendung das Tool KDCREM aufrufen, siehe entsprechender Abschnitt im openUTM-Handbuch „Einsatz von openUTM-Anwendungen auf Unix-, Linux- und Windows-Systemen“.
Beenden der Anwendung
Die Anwendung beenden Sie wie sonst auch durch die UTM-Administration oder mit dem Tool KDCSHUT. Falls sich die Anwendung nicht normal beendet, sollten Sie das Tool KDCREM aufrufen.
Details siehe entsprechende Abschnitte zur KDCSHUT und KDCREM im openUTM-Handbuch „Einsatz von openUTM-Anwendungen auf Unix-, Linux- und Windows-Systemen“.