in reply to why can't I catch CHLD signal?

I figured it out: the parent is exiting before the child. I need to call wait() or waitpid() in the parent.

--Thanks Grandfather. Points awarded.