Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic

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

( #374564=categorized answer: print w/ replies, xml ) Need Help??

Q&A > programs and processes > How do I trap $SIG{INT} ( sigint aka Ctrl^c )? 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...


Comment on Answer: How do I trap $SIG{INT} ( sigint aka Ctrl^c )?
Download Code
Log In?

What's my password?
Create A New User
and the web crawler heard nothing...

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 2015-11-29 16:18 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (751 votes), past polls