I need to fork child process for each array element. I'm using below code :
#!/usr/bin/env perl my $pid; my @a = (1,2,3); for my $i (@a) { print "i -> $i \n"; $pid = fork(); if ( $pid ) { # parent print " child pid : $pid \n"; } elsif ( $pid == 0) { #child #print "child working on $i "; } } while((wait()) > 0) {}; exit
but executing the code results in child processes more than the no. of elements in array. I don't know what's the problem. Output look like : i -> 1 child pid : 12629 i -> 2 i -> 2 child pid : 12631 i -> 3 child pid : 12630 i -> 3 child pid : 12632 i -> 3 child pid : 12633 i -> 3 child pid : 12634 child pid : 12635
In reply to fork child process by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |