Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re: Force 2 'ctrl-c's to kill program

by BrowserUk (Pope)
on Feb 11, 2013 at 17:22 UTC ( #1018193=note: print w/replies, xml ) Need Help??


in reply to Force 2 'ctrl-c's to kill program

Try this:

#! perl -slw use strict; use 5.010; use Time::HiRes qw[ time sleep ]; $|++; $SIG{ INT } = sub { state $last = 0; if( ( time - $last ) > 2 ) { $last = time; return; } die 'Interupted by ^C^C'; }; while( 1 ) { printf "\rtum te tum: %f", time; sleep 0.1; }

With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

Replies are listed 'Best First'.
Re^2: Force 2 'ctrl-c's to kill program
by albob (Sexton) on Feb 11, 2013 at 17:34 UTC
    This certainly seems to work. Must get my head around what it is doing now. Thanks.
      Must get my head around what it is doing now.

      $SIG{ INT } = sub { ## State makes $last a closure; that is a variable that remember' +s its value ## between invocations of the subroutine state $last = 0; ## if the time now is greater than 2 seconds later than the last +time we saw a ^C if( ( time - $last ) > 2 ) { ## Overwrite the last time with the current time $last = time; ## And just return; ignoring this ^C return; } ## However, if it is less than 2 seconds; die. die 'Interupted by ^C^C'; };

      With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.
        Ah, that makes a lot of sense. "State" was new to me (not using 5.010 yet) so threw me a little. Cheers

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (4)
As of 2016-12-11 00:17 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    On a regular basis, I'm most likely to spy upon:













    Results (168 votes). Check out past polls.