| hand waving here my $a=1; my $b=2; if ( fork() ){ # becomes 2 for the parent $a++; } else { # becomes 3 for the child $a=3; } | etc. #### SIGUSR1 30 user defined signal 1 SIGUSR2 31 user defined signal 2 #### SIGUSR1 30,10,16 Term User-defined signal 1 SIGUSR2 31,12,17 Term User-defined signal 2 #### # handwaving if ( fork() ){ # this is the parent $SIG{USR1)=\&parentHandler; } else { # child $SIG{USR1} =\&childHandler; }