It seems to me that it may make sense to create a Perl wrapper for whatever program you are using. Have the wrapper open up the file handle to the piped process, then have it listen on a socket of your favorite flavor. Have your main program open up the socket, and when the connection is closed have the wrapper exit. If it still hangs, send the pid (in the special variable $$) over the pipe after opening the socket, and kill it by Pid.

Out of curiousity, have you set $| = 1;? Also, is the program you are piping to Open Source? You may be able to create a full fledged wrapper if it is (i.e. use Inline::C to compile the program in a way you can call) That, or you could change the program to listen on a socket. Although, that might not be as easy as a wrapper.


Want to support the EFF and FSF by buying cool stuff? Click here.

In reply to Re: close not working with opened piped fork process on solaris 9 by Vautrin
in thread close not working with opened piped fork process on solaris 9 by w3ntp

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.