Salve,
ho bisogno di creare una fork inteliggente ... ovvero che ad ogni
nuovo processo elimini quelli in corso paralleli e acquisisca la
precedenza su STDIN...il seguente è il codice base, come devo
modificarlo? (avevo pensati di mettere in una array tutti i $$ che si
creano man mano che si forka...poi prima di forkare si killano tutti gli
$$ in array ... dopodicche si chiude e si riapre SDTIN...
Graziecodice:#!/usr/bin/perl use strict; use warnings; use IO::Socket::INET; use IO::Handle; STDOUT->autoflush(1); my $server = IO::Socket::INET->new(LocalPort => '65001', Proto => 'tcp', Reuse => 1) || die $!; $server->listen(); while ( my $client = $server->accept() ) { next if my $kid = fork; die "fork: $!" unless defined $kid; $client->autoflush(1); my $buff = <$client>; print STDOUT $buff; syswrite $client, $_ while sysread \*STDIN, $_, 1024; } continue { close $client; }



Rispondi quotando