Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: perlbrew: Command [ ... ] terminated with exit code 0 ($? = 13)

by haukex (Archbishop)
on Mar 15, 2021 at 10:28 UTC ( #11129657=note: print w/replies, xml ) Need Help??


in reply to perlbrew: Command [ ... ] terminated with exit code 0 ($? = 13)

$? = 13 is (typically) a SIGPIPE. You probably exited less before scrolling through all the output.

Replies are listed 'Best First'.
Re^2: perlbrew: Command [ ... ] terminated with exit code 0 ($? = 13)
by rsFalse (Chaplain) on Mar 15, 2021 at 10:46 UTC
    Ye. For sure. Thanks!
    If doesn't throw a warning if I scroll whole output.

    But if I try with slightly changed line:
    perlbrew exec perl -wle 'print " A" x 1e0 for 1 .. 1e2' | less -S
    There is no warning, although I didn't scroll the whole output.
      But if I try with slightly changed line:
      perlbrew exec perl -wle 'print " A" x 1e0 for 1 .. 1e2' | less -S
      There is no warning, although I didn't scroll the whole output.

      perl -wle 'print " A" x 1e0 for 1 .. 1e2' is 300 bytes, while perl -wle 'print " A" x 1e3 for 1 .. 1e2' is 200100 bytes. Since you're piping the output of perl to another program, perl's output isn't line-based (see e.g. Suffering from Buffering), and so what I'm fairly certain is happening is that perl is simply outputting the 300 bytes in one go. Update: Because perl -wle '$|++; print " A" x 1e0 for 1 .. 1e2' isn't killed by SIGPIPE either, it may also have something to do with how much data a pipe can buffer, but I'm not an expert on that.

        I think Linux pipes can usually hold 128 KiB. This surely configurable.

        Update:

        $ perl -e' $|=1; $SIG{PIPE} = sub { die("SIGPIPE") }; print "x" x 1..15_328; ' | sleep 0.25 # Child needs to be alive when the print occurs. $ perl -e' $|=1; $SIG{PIPE} = sub { die("SIGPIPE") }; print "x" x 1..15_329; ' | sleep 0.25 SIGPIPE at -e line 3.

        It's 15,328 on my Ubuntu (over WSL2) system. What a weird number. That's 1,056 bytes less than 16 KiB (16,384).

        Seeking work! You can reach me at ikegami@adaelis.com

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (2)
As of 2022-09-30 23:27 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    I prefer my indexes to start at:




    Results (126 votes). Check out past polls.

    Notices?