Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re^2: Running a string through a filter program and recieving the output as a string

by Moron (Curate)
on Oct 20, 2005 at 14:57 UTC ( [id://501686]=note: print w/replies, xml ) Need Help??


in reply to Re: Running a string through a filter program and recieving the output as a string
in thread Running a string through a filter program and recieving the output as a string

Although when using SystemV (Sunos 5.9) today, I had a complaint about a defunct process being left even after closing both the read and write channels - this being in a subroutine that handled repeated communications with a time-series database language interpreter. At some point there was one defunct process for each time I had called the subroutine. To fix this, I had to modify the code to specifically tell the parent to wait. It seems silly that I should have to do that, but on the other hand it is indeed partially documented in perlipc. Here is what I had to do to fix it, but applied to the above piece of code instead of mine:
use IPC::Open2; use POSIX ":sys_wait_h"; my $pid = open2 ( REA, WRI, 'tr a-z A-Z' ) or die $!; for (<DATA>){ print {\*WRI} [(my $cmd, my @rest) = split]->[0]; } close WRI; print <REA>; close REA; # but believe it or not, under sysV the zombie is still the +re! waitpid($pid,0); # this will finally kill it cleanly! __END__ # although exit from the program will eventually kill it of co +urse an apple a day boat for bloat

-M

Free your mind

  • Comment on Re^2: Running a string through a filter program and recieving the output as a string
  • Download Code

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (4)
As of 2024-04-18 18:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found