Dear Monks,


I have a perl script which copy files via scp (and open3) from one server to another. After copying, some tasks have to be run remotely (by the sending server): it could be untarring an archive, or moving the file to another place.


Overall, it works nicely. But when i transfer a file greater than a given size (somewhere around 30M it seems) then the file transfer works correctly, but the following tasks (launched by another call to open3) doesn't catch an EOF on STDOUT.

Related code :

my $pidscp = open3(*HIS_IN, *HIS_OUT, *HIS_ERR, $configTransferBin, +@args); my @outlines = <HIS_OUT>;
With smaller files, the script will go further.
With bigger files, it just hangs here ( I've tested by let it run for more than 1 hour). The output isn't verbose at all : at worst, stdout should get only 3 or 4 lines), and the size of the datas sent to STDOUT by the remote command doesn't depend upon the size of the actual file.

Any of you ever faced an issue like this one?

Thanks in advance.


In reply to IPC::Open3 STDOUT does not EOF? by KaZeR

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.