Correct.  You could spawn 5 and then do 5 waits.  Assuming you want to do
nothing until all 5 finish.

But:  Do you actually want to do a timer for those 5 processes, run for a
certain amount of time and then have them stop??  Then check to make sure
all 5 are done, then do some other stuff (reporting)??

The code below spawns a process but instead of waiting like it would for a
system call, it says I'm gonna keep on trucking -- course it doesn't do
anything except go straight to a wait in this example, but in theory, the
"main" could be doing other stuff at the same time.

Of course, all this has very little to do with terminating a child at a
certain time...

-Tom Kinzer


-----Original Message-----
From: Akens, Anthony [mailto:[EMAIL PROTECTED]
Sent: Wednesday, December 03, 2003 10:07 AM
To: Akens, Anthony; Tom Kinzer; [EMAIL PROTECTED]
Subject: RE: Timing several processes


To clarify, I found the following in "Learning Perl".

It doesn't quite make sense to me, though.  Perhaps someone
Can clarify what's going on in this?

defined(my $pid = fork) or die "Cannot fork: $!";
unless ($pid) {
  # Child process is here
  exec "date";
  die "cannot exec date: $!";
}
# Parent process is here
waitpid($pid, 0);


It seems I could use that code, modified to start (5) processes,
And a waitpid() for each of those (5).  It doesn't matter
Which processes would finish first.  (I put the 5 in quotes,
Because right now I'm looking at using 5 different tools that
I want to monitor).

-Tony



-----Original Message-----
From: Akens, Anthony
Sent: Wednesday, December 03, 2003 12:58 PM
To: Tom Kinzer; [EMAIL PROTECTED]
Subject: RE: Timing several processes


I already have some ideas for how I want to build the page, how
to parse the data I will generate, etc.

As I said, I've looked at some of the other tools out there,
and want to stick to some simple perl code to parse out the
information and return the results.

The only bit I'm not sure of is how to tell if all forked processes
have completed before moving on.


-Tony

-----Original Message-----
From: Tom Kinzer [mailto:[EMAIL PROTECTED]
Sent: Wednesday, December 03, 2003 12:35 PM
To: [EMAIL PROTECTED]
Subject: RE: Timing several processes


 http://poe.perl.org

Maybe this would be a good job for POE?

-Tom Kinzer


-----Original Message-----
From: Akens, Anthony [mailto:[EMAIL PROTECTED]
Sent: Wednesday, December 03, 2003 7:49 AM
To: [EMAIL PROTECTED]
Subject: Timing several processes


Hi all!

I'm wanting to write a simple web-based tool to see the status of
several servers at a glance.  I know there are many solutions existing,
but I can't learn as much about perl by just using one
of those as I can by writing my own.  The first step I want to do
is call a script from cron that runs several basic monitoring tools
(sar, vmstat, df, iostat, etc) and saves the output of each to a
file. Then I'd parse those files up, and write a summary file.

Easy enough.  And I could certainly do it with by calling the tools one
at a time.  However, I'd like to get roughly 1 minute of vmstat,
iostat, and sar output.... Simultaneously.  So I'm supposing I'd
want to fork off each process, and then when those are all done
come back and run a script that then parses those results out for
the individual statistics I'm looking for.

I've never used fork before, and while it looks fairly straight forward
what I am not sure of is how to make sure all of those forked
processes have completed before moving on and parsing the files.

Any pointers?

Thanks in advance

-Tony

--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to