Supi, danke für deine Hilfe, aber
» Das wird besser so gemacht:
»
» while ( $client = $server->accept()) {
» $command = chomp(<$client>);
» $pid = fork();
» die('cannot fork!') unless (defined($pid));
» unless ($pid) { # also Child...
» system("$command"); # ... führt Befehl aus...
» exit; # ... und stirbt dann.
» }
» # und Parent lauscht gleich weiter!
» }
»
» So, damit sollte es dann funktionieren.
Leider nicht so wie ich es gemeint hatte. Der Child-Prozess wartet solange, bis der $command Prozess beendet ist. Folgendes Szenario:
Ich sende 100 mal den Befehl "sar -u 1 100" an den Server. Dann habe ich 100 Mal den sar Befehl gestartet => korrekt. Aber dann habe ich auch 100 Child Prozesse, die auf das Ende ihrer sar Prozesse warten. Nun gibt es allerdings Prozesse die eventuell gestartet werden, welche nonstop laufen. Ich möchte nicht, dass die Child Prozesse existieren. Ich möchte den $command Befehl absetzen, ohne das ein Child Prozess bis zum bitteren Ende existiert.
Gruß,
coolblue
never say oops after you submitted a job :-)