Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Answer: How do I trap $SIG{INT} ( sigint aka Ctrl^c )?

by thayer (Sexton)
on Jul 15, 2004 at 07:44 UTC ( #374564=categorized answer: print w/replies, xml ) Need Help??

Q&A > programs and processes > How do I trap $SIG{INT} ( sigint aka Ctrl^c )? - Answer contributed by thayer

Well, exit or die would work under unix, so switch to Linux and your life will be much better ;^)

However, if that's not an option, then any OS will let you do something like:

$Done = 0; sub myhand { print "Caught SIGINT\n"; $Done = 1; } ... while(1) { sleep(1); $Done && die "Time to go"; } ...
I'd also like to warn you that if you use system, or sleep you're signal handlers may get reset for INT and ALRM respectively, so what's in the run loop may contribute to your woes... I'm not sure what Windows side-effects to look for...

/charles

Log In?
Username:
Password:

What's my password?
Create A New User
Chatterbox?
[erix]: ( it /might/ just be able to emulate my tpyo's )
belg4mit goes back to playing with Enju

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (13)
As of 2017-04-25 17:00 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    I'm a fool:











    Results (460 votes). Check out past polls.