Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Re: Backticks and SIGALRM

by Anno (Deacon)
on Aug 20, 2007 at 11:39 UTC ( #633773=note: print w/replies, xml ) Need Help??

in reply to Backticks and SIGALRM

I can't reproduce that result. In particular, using the external command
`echo start; sleep 5; echo done`
I see the expected timeout. With
`echo start; sleep 0; echo done`
the result is the two echoed lines, again as expected.


Replies are listed 'Best First'.
Re^2: Backticks and SIGALRM
by nemo (Sexton) on Aug 20, 2007 at 11:44 UTC
    I have tested the alarm code in isolation using an infinite loop and it does work as expected. The alarm timeout works correctly when the external app is executed using "system" but as I need to collect the output I cannot use it.
    Thank you for your reply.

      Can I pipe the output of the system command to my own program and read it in line by line. That way getting the best of both?
        Yes, you can pipe the output of the system command to [your] own program. In perldoc -f open, see the paragraphs following
        If the filename begins with '|' ...

        as you are using qx() (which gets the full output anyway) maybe you can simply redirect the output of your external command to a file (using the system shell and process that later

        my $cmd = "$ext_cmd > $my_output"; # using unixlike shell system($cmd) == 0 or die; #

        (ignore if your OS is not unixlike) what does happen if you manually send SIGALRM to that external process? (wrap it in a shell if the execution time is too short).

        cheers --stephan
      When did system() enter the equation? I tested your code using backticks and it works as expected.


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://633773]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (5)
As of 2018-05-22 22:14 GMT
Find Nodes?
    Voting Booth?