5
如何设置在Perl脚本停止前必须执行的代码?在Perl脚本结束之前总是执行一些代码
在这里how to run piece of code just before the exit of perl script我读了关于END子程序,但只有在脚本正常结束时才会执行。但是,如果例如用户通过^ C中止程序,我想要执行代码。
如何设置在Perl脚本停止前必须执行的代码?在Perl脚本结束之前总是执行一些代码
在这里how to run piece of code just before the exit of perl script我读了关于END子程序,但只有在脚本正常结束时才会执行。但是,如果例如用户通过^ C中止程序,我想要执行代码。
陷阱的终止信号和重新路由他们这样的东西,最简单的是:
$SIG{TERM} = $SIG{INT} = $SIG{QUIT} = $SIG{HUP} = sub { die; };
谢谢你,这个工作。只有我得到了指定的子程序在^ C信号后执行三次... – 2012-07-11 13:13:05
@Janis所以,现在你知道,^ C信号是一个3个不同的信号;)也许你只想使用一个信号,比如'QUIT'或者'TERM'或'INT'。只重新路由其中之一。 – gaussblurinc 2012-07-11 13:18:08
或者你可以让'sub'记住它已经被调用。 ['state'](http://perldoc.perl.org/functions/state.html)关键字可能对此很有帮助。 – simbabque 2012-07-11 13:42:07