Thread Proble beim fork(en)
(10 answers)
Opened by Gast at 2008-06-22 18:19
Hallo renee,
Danke für den Tipp - hat bestens funktioniert. Das Beispielscript Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 #! /usr/bin/perl use strict; use warnings; use POSIX ":sys_wait_h"; fork_it(); #--------------------------------------------------------------------------------# # Subroutines # #--------------------------------------------------------------------------------# ## # fork_it starts several processes for domain-requests ## sub fork_it{ for (1..5){ pipe(READER,WRITER); my $pid=fork(); if($pid==-1){ warn($!); last; } if($pid){ close WRITER; while(my $line = <READER>){ # lese aus der Pipe } $pids{$pid}=1; } else{ close READER; print WRITER "irgendwas\n"; exit(0); } } while(keys %pids){ my $pid=waitpid( -1, WNOHANG ); die "$!" if $pid == -1; delete $pids{$pid}; } } }# end fork_it hat am Ende eine Klammer zuviel - sollte vielleicht im Artikel geändert werden. |