Halihallo coolblue
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.
Ach so ist das... Also:
use POSIX qw(setsid);
while ( $client = $server->accept()) {
$command = chomp(<$client>);
$pid = fork();
die('cannot fork!') unless (defined($pid));
unless ($pid) { # also Child...
setsid(); # ... wird vollkommen von Parent getrennt
exec("$command"); # ... und mit $command Befehl "ersetzt"
}
# und Parent lauscht gleich weiter!
}
Viele Grüsse
Philipp