Beefy Boxes and Bandwidth Generously Provided by pair Networks DiBona
Perl-Sensitive Sunglasses

Re^5: Stop a .exe

by BrowserUk (Pope)
on Aug 22, 2012 at 01:15 UTC ( #988919=note: print w/ replies, xml ) Need Help??

in reply to Re^4: Stop a .exe
in thread Stop a .exe

I think I've managed to re-create the situation you are seeing. I believe you are suffering from buffering.

Please try the following code and report your results. This isn't intended as a complete solution, but rather a diagnostic to understand your problem.

#! perl -slw use strict; use Win32::Socketpair qw[ winopen2 ]; ## Run the command and get a bi-direction pipe to it. my( $pid, $pipe ) = winopen2( 'RunMe.exe', $ARGV[0 ] // 10 ); ## preload the childs input buffer with the answer to the prompt; print $pipe "\n"; ## give the kid a chance to say whatever it has to say sleep 2; ## a nonblocking read to grab whatever has made it through the buffers ## which if the kid produced less output than the size of its output b +uffer ## and didn't flush them, may be nothing at all my $results = ''; sysread( $pipe, $results, 65536, length $results ); close $pipe; print for split "\n", $results; ## May produce no output

In the absence of evidence, opinion is indistinguishable from prejudice.

The start of some sanity?

Comment on Re^5: Stop a .exe
Download Code

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://988919]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (6)
As of 2014-03-17 19:25 GMT
Find Nodes?
    Voting Booth?

    Have you used a cryptocurrency?

    Results (356 votes), past polls