On Mon, Jan 19, 2004 at 02:41:59PM -0800, Allan_Watts@amp.com.au wrote:
> > .. for pdf files it's opening two
> > programs, so I assume that means 130 or so zombie processes. Seems like
> > a rather small process table.
>
> Actually for pdf files I only get success with 32 files, then it fails...
> with the message "open2: IO::Pipe: Can't spawn-NOWAIT:etc "
Right -- I went the wrong way. Two programs opened for each file
processed is 65(or so) divided by two.
>
> > Argh. Can you explain why that should go there? I understand about
> > reaping, but why there instead of after reading and closing the file
> > handle.
>
> I too couldn't figure out why waitid could be called straight after the
> call to open2.
>
> When I was first trying to figure out what was happening I was trying to
> call it after the target file was finished with - but I couldn't get it to
> work - which I attributed to my lack of Perl skills. Which is why I put
> together the little test routine - and discovered that waitid seemed to
> solve the problem if called straight after the open2 call. Which should
> have meant that I could easily call it in windows_fork() ..And was
> disappointed when it didn't seem to work.. (was time to call in the
> experts!)
Actually, last night when searching around I found more info on this
stuff than I have in a long time. Nothing that explains any of it
clearly though. It's a good sign that I'm no longer only finding my own
posts on the subject when searching google! I spent about a year asking
about this on various Windows CGI and Perl groups.
Anyway, I never did find a clear explanation of waitpid $pid, 0 does in
my searching yesterday.
I see Win32::Process mentioned often. I wonder if pipes can be setup
that way and if it's any more reliable.
So does Win2k provide any way to monitor process creation or something
akin to "top" on unix?
--
Bill Moseley
moseley@hank.org