Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

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

by crazyinsomniac (Prior)
on Jul 01, 2001 at 13:18 UTC ( #93005=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 crazyinsomniac

Basically you need to kill yourself (the process).

#!/usr/bin/perl -w use sigtrap 'handler' => \&myhand, 'INT'; # equivalent to $SIG{INT}=\&myhand; # use strict; # kill 6 doesn't work under strict under IndigoPerl for some reason sub myhand { print "\n caught $SIG{INT}",@_,"\n"; kill 6, $$; # ABRT = 6 # $$ is the pid of the current process } print "program started \n"; while(1) { select(undef,undef,undef,0.25);}

Also check out perlvar(for $$), perlipc and How do I trap control characters/signals?.
kill 6 is the equivalent of kill ABRT (thanks Vynce).

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 scrutinizing the Monastery: (10)
As of 2016-10-25 07:23 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (315 votes). Check out past polls.