Hi McA,
I had a developer colleague of mine help me on writing below fork code (after following your advice).
#!/usr/bin/perl -w use strict; use POSIX; my @list=("server1","server2","server3","server4","server5","server6", +"server7","server8"); my $count = 0; my $pcount = 5; foreach (@list) { chomp ; my $real_host = $_; if( (my $pid = fork()) == 0) { print "Processing - $_ \n"; my $wait=ceil(rand(10)); print "Wait:$wait \n"; sleep($wait); print "Exit Status= $? \n"; if($? ==0) { print "$_ Exit successfully \n"; } else { print "$_ Does not Exit successfully \n"; } print "Completing - $_ \n"; exit; } $count++; while($count >= $pcount) { wait(); $count--; } } while(wait() != -1){}
I still don’t understand few parts of this code but I am OK with that. This test code is working perfectly. So I am planning to use the same logic in my orchestrator.
Many thanks for your help.
In reply to Re^4: How to make perl script work simltaneously on multiple objects
by slayedbylucifer
in thread How to make perl script work simltaneously on multiple objects
by slayedbylucifer
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |