|
while (defined(my $handle = $socket->accept)) { my $pid; if (defined($pid = fork) && $pid == 0) { while ((defined(my $cmd = <$handle>))) { $cmd =~ s/\r?\n$//m; # process $cmd } $handle->close; exit(0); } else { $handle->close; } } |
Für jeden neu hinzukommenden Klienten wird mit
fork(2) ein neuer Prozeß erzeugt.
| |||||||
fork liefert in Perl
| |||||||
Alle Daten und offenen Dateiverbindungen werden vererbt --
jedoch nicht gemeinsam gehalten.
| |||||||
Der Kindprozeß kann dann in Ruhe seinen Dialog
durchführen, ohne die Dialoge mit den anderen Klienten
zu behindern.
|
Copyright © 1996 - 2003 Andreas Borchert, in HTML konvertiert am 01.10.2003 |