Hallo,

ich habe folgendes Skript geschrieben, um zu checken, ob ein Prozess noch aktiv ist.
Trotz des exit()-Befehl, existiert der Prozess anscheinend weiter.
Wiseo. Kann mir jemand sagen, was ich falsch mache bzw. wie ich das Ende des Child Prozesses überwachen kann, ohne dass das Hauptprogramm warten muss?

Beste Dank!

Hier
das Skript und die dazugehörige Ausgabe:

Skript:
Code:
print "Start..\n";
$pid=fork();
if ($pid) {
	print "Elternprozess\n";
}
else{
	print "ChildProzess..\n";
	sleep(15);
	print "kurz vor Child-Ende\n";
	exit();
}

if ($pid) {
	print "Im if-Bereich\n";
	do{
		$check=kill 0, $pid;
		print "Check: $check\n";		
		$count++;
		sleep(1);
	}until((!($check)) or ($count > 25));
}

AUSGABE:

Start..
Elternprozess
Im if-Bereich
Check: 1
ChildProzess..
Check: 1
Check: 1
Check: 1
Check: 1
Check: 1
Check: 1
Check: 1
Check: 1
Check: 1
Check: 1
Check: 1
Check: 1
Check: 1
Check: 1
kurz vor Child-Ende
Check: 1
Check: 1
Check: 1
Check: 1
Check: 1
Check: 1
Check: 1
Check: 1
Check: 1
Check: 1
Check: 1