#!/bin/bash -x # create a new process group setsid ./b.sh & pid=$! sleep 3 echo c done! # works -- kill the whole process group trap "kill -- -$pid" EXIT # does not work # trap "kill $pid" EXIT