C++ fork und exec

02/04/2013 - 12:26 von Heinz-Mario Frühbeis | Report spam
Hallo zusammen!

Mein Programm baut sich quasi so auf:
Ein System/Start-Programm >
da heraus mehrere andere Programme, die jeweils parallel laufen müssen

Und so frage ich mich derzeit heftigst, ob mittels fork() und (z. Bsp.)
execlp() Prozesse tatsàchlich parallel ablaufen?

Mein Problem z. Z. ist, daß mein Programm noch nicht groß genug ist um
das im Programmablauf feststellen zu können.
Also habe ich erst mal zusàtzlich ein kleines Programm erstellt.
Und so versuche ich z. Z. mit diversen sleep()-Aufrufen Unterschiede
festzustellen.
Ich meine, daß es tatsàchlich parallel ablàuft, aber ich möchte mir da
im Vorfeld wirklich sicher sein, ob ich da den richtigen Weg
eingeschlagen habe.

Einige Ausgaben ("Hallo", "Welt" kommt aus dem externen Programm (mit 2
X sleep(2)):
Hallo fork() // Hauptprogramm sleep(2)
DEFULT LZSTAT 1
EXTERNES PROGRAMM
REG BEFORE SLEEP
Hallo
REG AFTER SLEEP
LZSTAT 0
Welt
Prog ENDE 0

Hallo fork() // Hauptprogramm sleep(6)
DEFULT LZSTAT 1
EXTERNES PROGRAMM
REG BEFORE SLEEP
Hallo
Welt
REG AFTER SLEEP
LZSTAT 0
Prog ENDE 0

Laufen also Programme per fork() und exec() wirklich parallel ab?

Mit Gruß
Heinz-Mario Frühbeis
 

Lesen sie die antworten

#1 Heinrich Wolf
03/04/2013 - 09:47 | Warnen spam
fork verzweigt in einen Parent und einen Child Prozess. Diese beiden laufen
parallel.

Heiner

Ähnliche fragen