use sigtrap qw(handler SIG_handler any normal-signals any error-signals); #### sub SIG_handler { my($signal) = @_; my $filename = 'signals.log'; my $num = threads->tid(); my $timestamp = scalar localtime(time); open (my $LOGFILE, ">>", $filename); print {$LOGFILE} "==$timestamp==\nThread $num caught/received a Signal: [$signal]"; print {$LOGFILE} "\n\n\n"; close ($LOGFILE); die "$signal"; }