sub foo { } $SIG{TERM}=\&foo; fork() || exec("newprogram");