In the second run, the ^C was typed 1 second after the command
was started, and the first sleep plodded along to completion for its
full 3 seconds. Why wasn't the first sleep killed by the kill
command in the trap? This is on Mac OS X 10.4.8.

When I run this code with Bash 2.05b.0(1)-release, the ^C does
cause the first sleep to be killed instantly.

I need this to work correctly for an enhancement to

http://Yost.com/computers/d

That will allow you to say that you want to tail -f the output
until the backgrounded completes or until you type ^C.