END { if ($pid and (kill 0,$pid)) { system("pkill -TERM -g `ps --pid $pid --no-heading -o '%r'` "); # Kill everything forked system("pkill -TERM -P $pid "); # Kill spawns kill("TERM", $pid); waitpid $pid, 0; } undef $pid; }