给定kill.pl:
$SIG{INT} = sub { print "int\n" };
$SIG{TERM} = sub { print "term\n" };
$SIG{ABRT} = sub { print "abort\n" };
print "sleeping...\n";
sleep 60;
和kill.com:
$ perl kill.pl
并像这样启动+中止:
submit /log_file=kill.log kill.com
delete /entry=XXXXXX/noconfirm
信号处理程序不会被调用。当进程被杀死时,类似的代码可以在 Linux 上运行。
kill.log 只显示:
(19:58)$ perl kill.pl
sleeping...
%JBC-F-JOBABORT, job aborted during execution
我阅读了 vmsperl 文档并尝试了一些来自http://perldoc.perl.org/sigtrap.html的东西。有没有办法做到这一点?
请注意,如果我打电话:
@kill.com
并执行 CTRL+C,SIGINT 由 kill.pl 处理。
我添加了 perl 标签,以防有人知道是否有办法告诉 perl 捕获每个可能是我感兴趣的信号。我的尝试是:
$SIG{$_} = \&subroutine for keys(%SIG);