$SIG{HUP} = sub { if (defined $log) { undef $log; } $log = IO::File->new(LOGFILE, 'w'); $log->print(strftime("%m/%d/%Y %H:%M:%S", localtime),": Caught HUP, reset logfile\n"); $log->print("pid = $$\n"); $log->autoflush(1); }; #### #!/usr/bin/perl $SIG{HUP} = sub { print "got hup\n"; }; while (1) { print "sleeping\n"; sleep(1); }