use strict; use warnings; $SIG{HUP} = \&sighup_handler; $SIG{TERM} = \&sigterm_handler; sleep(3600); sub sigterm_handler { die "Caught TERM, will not do anything!"; } sub sighup_handler { # commit changes to the database and exit }