Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

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.

Anno

Replies are listed 'Best First'.
Re^2: Backticks and SIGALRM
by nemo (Sexton) on Aug 20, 2007 at 11:44 UTC
    Yes
    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.

    Nemo
      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 '|' ...
        Anno

        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.

      Anno

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://633773]
help
Chatterbox?
[Discipulus]: LanX the fact is that my js ability is even poorer than my Perl one..
[LanX]: oh its negative? ;P
[Discipulus]: my warmest comprehension karlgoethebier ;=(
[Discipulus]: yes LanX.. is so good to be appreciated (I fortunately have a big self estimation that compensate)
[LanX]: you can manipulate a html tree by addressing and replacing so called document objects (DOM) and from my experience the same methods can be used with any XML, though I didn't test all browsers yet
LanX just joking, playing "ego judo"
[marto]: good morning all

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (13)
As of 2017-03-23 09:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Should Pluto Get Its Planethood Back?



    Results (285 votes). Check out past polls.