mithras
26-09-2002, 14:42
Habe ein Programm A, das prüft, ob Prog. B läuft, (Programm B ist so programmiert, dass es wenn es läuft an einem bestimmten Port lauscht (accept)- schleife).
Programm A versucht nun zu Programm B zu connecten, falls dies nicht gelingt, wird mit fork ein zweiter Prozess gestartet, mit dem mit exec Programm B gestartet wird, nach dem die Ausführung von Programm A einige Sekunden angehalten wurde also der elternprozess, als Kind läuft ja Programm B, connected Programm A zu B, und sendet Daten.
Das Problem.
Wenn Prog. B noch nicht läuft, und es wird über eine Meldung die Prog. A an Prog. B schickt, Prog B gestartet, kommt die Meldung nicht an! Es findet eine Art verschiebung statt, d.h.
wenn ich mit dem Text "hallo 1" Programm B starten will, erscheint zunächst auf Programm B gar nichts, erst wenn ich dann eine zweite Meldung schicke, z.B. hallo 2 erscheint "hallo 1" usw.
An was liegts?
Programm A versucht nun zu Programm B zu connecten, falls dies nicht gelingt, wird mit fork ein zweiter Prozess gestartet, mit dem mit exec Programm B gestartet wird, nach dem die Ausführung von Programm A einige Sekunden angehalten wurde also der elternprozess, als Kind läuft ja Programm B, connected Programm A zu B, und sendet Daten.
Das Problem.
Wenn Prog. B noch nicht läuft, und es wird über eine Meldung die Prog. A an Prog. B schickt, Prog B gestartet, kommt die Meldung nicht an! Es findet eine Art verschiebung statt, d.h.
wenn ich mit dem Text "hallo 1" Programm B starten will, erscheint zunächst auf Programm B gar nichts, erst wenn ich dann eine zweite Meldung schicke, z.B. hallo 2 erscheint "hallo 1" usw.
An was liegts?