Folks,
I need some help with process forking on Solaris. What I'm trying to do is as follows:
I have 60+ directories which I need to copy. Each directory has a different
destination and so it is impossible to do the copy with a single command i.e. I must
have one copy statement per directory.
I'd also like to copy all 60+ directories simultaneously i.e. issue 60 commands at
the same time.
The perl script must wait until all of the 60+ copies have been completed, before
generating a log file containing the results.
Although it is fairly simple to launch the 60+ copy commands, how do I monitor each of
the processes and know when each process has died.
A shell script which someone wrote (I'm trying to convert it into perl) does exactly
that, but I can't work out how to do it in perl:
set FILERDIRPATH=/net/server/destination/
#This will create the 60+ copy processes
foreach DIR ( * )
cd $DIR
cp -p -r backup $FILERDIRPATH/$DIR &
cd ..
echo "Copying $DIR to $FILERDIRPATH" >> $LOG
end
# wait until all the cp jobs are done
while 1
jobs > /tmp/jobs.$$
if (`wc -l /tmp/jobs.$$ | awk '{print $1}'` == "0" ) break
end
rm /tmp/jobs.$$
Thanks,
Bran.
-----------------------------------------------------
Get free personalized email at http://yahoo.iname.com
_______________________________________________
Perl-Unix-Users mailing list. To unsubscribe go to
http://listserv.ActiveState.com/mailman/subscribe/perl-unix-users