use sigtrap
use sigtrap; use sigtrap qw(stack-trace old-interface-signals); # same thing use sigtrap qw(BUS SEGV PIPE ABRT); use sigtrap qw(die INT QUIT); use sigtrap qw(die normal-signals); use sigtrap qw(die untrapped normal-signals); use sigtrap qw(die untrapped normal-signals stack-trace any error-signals); use sigtrap 'handler' => \&my_handler, 'normal-signals'; use sigtrap qw(handler my_handler normal-signals stack-trace error-signals);
The sigtrap
pragma installs some simple
signal handlers on your behalf so that you don't have to worry about
them. This is useful in situations where an untrapped signal would
cause your program to misbehave, like when you have END
{}
blocks, object destructors, or other at-exit processing
that needs to be run no matter how your program happens to
terminate.
The sigtrap
pragma provides two simple signal
handlers for your use. One provides a Perl stack trace, and the other
throws an ordinary exception via die
. Alternately,
you can supply your own handler for the pragma to install. You may
specify predefined sets of signals to trap; you can also supply your
own explicit list of signals. The pragma can optionally install
handlers for only those signals that have not otherwise been
handled.
Arguments passed to use sigtrap
are processed
in order. When a user-supplied signal name or the name of one of
sigtrap
's predefined signal lists is encountered, a handler is immediately installed. When an option is encountered, this affects only those handlers ...
Get Programming Perl, 3rd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.