Thanks Greg, but aren't I acting by the rules? $ cat l set +m sleep 44& kill $! $ for i in `seq 33`; do bash -xm l; done
Which gives + kill 5256 + set +m + kill 5258 + set +m + kill 5260 l: line 4: 5260 Terminated sleep 44 + set +m + kill 5262 + set +m + kill 5264 + set +m I.e., one out of the 33 cases produced the Terminated message on my one test run. Why must set -m; set +m cause a race condition? P.S., $ wc -l l 3 So "line 4" is wrong too.