[Pdx-pm] Reading process output fails prematurely?
Scott Garman
sgarman at zenlinux.com
Thu Mar 5 10:00:24 PST 2009
Michael G Schwern wrote:
>> open(EVENTS, "| /usr/local/sbin/udevmonitor");
>
> That means EVENTS is piping input into udevmonitor. You want to read output.
> You also want to make sure it open succeeded.
Aha, so all I needed was a slap with a clue bat. :) Thank you for your
response, and also for the lexical filehandle example.
> Are you sure you saw "I see:"? Because there's no way it should have worked
> as presented above, but you might have seen just udevmonitor's output. Do you
> have warnings on?
Right again - I was only seeing output from the program. I just *wanted*
to believe it was almost working the way I thought it should.
I have now turned warnings on and will keep them on for the remaining
development of the script.
A second quick question, if I haven't burned up too much karma: the
script works properly now, except that it buffers many lines (50+) from
udevmonitor before I see them on the screen. Setting $| to 1 was no
help, and from the documentation sounds like it wasn't quite what I
wanted anyway (autoflush forces buffer flushes after writes to the
currently selected output handle, and I'm guessing that input buffering
is what's causing me trouble).
Thanks,
Scott
--
Scott Garman
sgarman at zenlinux dot com
More information about the Pdx-pm-list
mailing list