Hi!
Vielleicht solltest du mal einen Blick auf die Klasse TProcess in der
Unit process werfen. Diese erlaubt es dir Prozesse zu starten, Ein-/Ausgabe umzuleiten und den Exitcode eines Prozesses zu ermitteln.
Die Doku zu dem Thema findest du
hier und im Free Pascal Wiki gibt es auch noch nen
Artikel dazu.
Bzgl "fork":
In Unix sieht das Starten eines Prozesses normalerweise so aus:
Der Elternprozess ruft "fork" auf, welches einen Klon des Elterprozesses als Kind erzeugt. Der Kindprozess ruft nun "exec" auf, welches das Anwendungsabbild, welches vom Elternprozess geerbt wurde, durch das der neuen Anwendung ersetzt (TProcess macht unter Unix genau das, während es unter Windows CreateProcess verwendet).
Edit: " am Ende der URL vergessen...
Gruß,
Sven