If your using *nix, instead of using fork, use my $pid = open( KID, '-|') or die $!; to kick of the child process. The child can then print __LINE__, "\n"; at strategic points (or every line if you wish) and the parent reads from <STDIN> (Updated: Thanks runrig) <KID> to get the line numbers.

See the "Safe pipe opens" section of perlipc for examples.

I couldn't get this to work under Win32 and tried pipe as an alternative, which works except I cannot work out how to get the parent process to detect that the child has closed the pipe? Maybe someone else knows the trick for this?

#! perl -sw use strict; use IO::Handle; pipe(FROM_CHILD, TO_PARENT) or die $!; TO_PARENT->autoflush(1); if( my $pid = fork ) { #parent while( <FROM_CHILD> ) { chomp; print "\rChild is processing line:$_ "; } print 'Child appears to be finished.'; ## This never reached? close FROM_CHILD; } else { for (1..10) { print TO_PARENT __LINE__, $/; select undef, undef, undef, 0.0 +5; print TO_PARENT __LINE__, $/; select undef, undef, undef, 0.0 +5; print TO_PARENT __LINE__, $/; select undef, undef, undef, 0.0 +5; print TO_PARENT __LINE__, $/; select undef, undef, undef, 0.0 +5; } close TO_PARENT; }

Examine what is said, not who speaks.
1) When a distinguished but elderly scientist states that something is possible, he is almost certainly right. When he states that something is impossible, he is very probably wrong.
2) The only way of discovering the limits of the possible is to venture a little way past them into the impossible
3) Any sufficiently advanced technology is indistinguishable from magic.
Arthur C. Clarke.

In reply to Re: Is there any way of determining the current line number of a child process while it is running? by BrowserUk
in thread Is there any way of determining the current line number of a child process while it is running? by Anonymous Monk

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.