in reply to how to make child process die after parent exists in perl

This seems virtually identical to this earlier PM post:   Killing child process ...

This stackoverflow comment-thread also has useful explanations of how SIGTERM is propagated in Unix/Linux.

Be sure that you clearly understand the difference between this signal and SIGKILL.   The graceful handling of a request to terminate is often done badly/incorrectly, resulting in unstable and awkward landings.   Proc::Background is very good “sugar” to help smooth over many rough spots.