exec Prozess ID rückgabe

BillaBong

Erfahrenes Mitglied
Hi,

ich habe es heute morgen schon im linux forum versucht habe auch eine lösung gefunden jedoch kann ich sie für mein Problem hier nicht verwenden. Hat von euch jemand ne idee wie ich mir von einem exec befehl die Prozess Id des auchsgeführten Befehls zurückgeben lassen kann.
 
so im prinzip funktioniert das hier :

PHP:
$descriptorspec = array(
				   0 => array("pipe", "r"),
				   1 => array("pipe", "w")
				    );
	$proc = proc_open("programmXY > /dev/null &", $descriptorspec, $pipes);
	$rueckgabe = proc_get_status($proc);
	
        echo $rueckgabe[pid]+1;

jedoch habe ich das problem das ich das Programm mit /dev/null & wegschreibe so das ich nicht warten muss bis das Programm fertig ist. Das liefert mir aber die falsche PID und zwar immer genau um -1. Aus diesem grund muss ich die rückgabe[pid]+1 rechnen damit ich die richtige PID zurück bekomme. Ich habe das jetzt mal so 10 mal getestet und da bekomme ich immer die richtige PID raus aber 100% ist das ja wohl auch nicht. Die lösung gefällt mir nicht so gut. und dann weiss ich auch immer noch nicht warum man das $descriptorspec braucht das ja wohl überhaupt hier bei mir keinr funktion hat ?! :-)
 
Zurück