-
Test ob ein Programm auf dem System läuft
Hallo zusammen,
ich möchte innerhalb eines Programms A feststellen, ob ein anderes Programm B auf der Maschine noch läuft. Des weiteren weiß ich, dass wenn B läuft es im Subsystem QBATCH läuft.
Gibt es einen CL Command oder zumindest eine API, die diese Information ermitteln kann? Wenn ja, wie?
Gruß
Etherion
-
... freilich gibt es da APIs, die es ermöglichen, festzustellen ob ein bestimmter Job aktiv ist und/oder ein bestimmtes Programm da im Callstack ist, wenn es aber um wechselseitigen Ausschluss geht, den kann man damit nicht sicherstellen. Da macht man sich besser einen auf Sperren basierenden Mechanismus.
D*B
 Zitat von Etherion
Hallo zusammen,
ich möchte innerhalb eines Programms A feststellen, ob ein anderes Programm B auf der Maschine noch läuft. Des weiteren weiß ich, dass wenn B läuft es im Subsystem QBATCH läuft.
Gibt es einen CL Command oder zumindest eine API, die diese Information ermitteln kann? Wenn ja, wie?
Gruß
Etherion
-
Hi Bender,
das mit dem Sperrmachnismus habe ich implementiert. Aber da gibt es noch eine Lücke. Ich möchte deswegen zusätzlich noch das laufende Programm abprüfen. Hast Du da Beispielcode?
Gruß
Etherion
-
-
... wo ist denn die Lücke?, vielleicht habe ich ja noch eine bessere Idee, als einen Wackelhaufen mit wühlen in Joblisten und Programm Stacks zu bauen!
D*B
 Zitat von Etherion
Hi Bender,
das mit dem Sperrmachnismus habe ich implementiert. Aber da gibt es noch eine Lücke. Ich möchte deswegen zusätzlich noch das laufende Programm abprüfen. Hast Du da Beispielcode?
Gruß
Etherion
-
Wenn eine explizite Sperre z.B. auf einen bestimmten Datensatz oder eine DTAARA gesetzt und gehalten wird, gibts keine Lücke.
Das Wühlen über Job's und Callstacks ist
a) sehr langsam
b) nicht sicher
Zu b)
Das Programm kann gerade nicht aktiv im Callstack aber in der Aktivierungsgruppe sein (*INLR = *OFF beim Return).
Dann findest du es nicht per Callstack, eine explizite Sperre bleibt aber bestehen (am Besten auf externe Objekte und nicht auf Datensätze).
-
Baldur,
Du sprichst mir (wie so oft) aus der Seele, bis auf (wie so manchmal): Satzsperren sind schon optimal, wenn man das Ganze mit Commitment Controll implementiert. Ich mache bei sowas eine Procedure getMutex(Name), die legt pro Name automatisch einen Satz in einer journalisierten Datei (eigenes Journal vermeidet Randprobleme) an und liest diesen mit Commit Level repeatable read und bei Ende (und exit registriert über CEE4RAGE) sagt man commit, das wars - und damit kann man auch Gruppen sperren (alphabetisch, versteht sich, damit es keine Deadlocks gibt).
Für Batch Jobs macht man sowas per 2 Procedures (ala Unix) mit einer getProcess (returns JobId) und einer Join (JobId), die auf die Beendigung eines Tochterprozesses wartet (aufmerksame Leser haben dazu einen meiner Artikel gelesen, in einer hier nicht benennbaren Zeitschrift - vielleicht habe ich bei Common auch mal einen Vortrag hierzu gehalten...).
D*B
 Zitat von Fuerchau
Wenn eine explizite Sperre z.B. auf einen bestimmten Datensatz oder eine DTAARA gesetzt und gehalten wird, gibts keine Lücke.
Das Wühlen über Job's und Callstacks ist
a) sehr langsam
b) nicht sicher
Zu b)
Das Programm kann gerade nicht aktiv im Callstack aber in der Aktivierungsgruppe sein (*INLR = *OFF beim Return).
Dann findest du es nicht per Callstack, eine explizite Sperre bleibt aber bestehen (am Besten auf externe Objekte und nicht auf Datensätze).
Similar Threads
-
By Kirsten Steer in forum NEWSboard Server Software
Antworten: 0
Letzter Beitrag: 14-01-08, 08:01
-
By Kent in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 31-10-07, 17:14
-
By zannaleer in forum NEWSboard Drucker
Antworten: 6
Letzter Beitrag: 13-09-06, 10:35
-
By bode in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 22-11-05, 09:14
-
By cc in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 24-05-05, 14:36
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks