If you use double-forking to avoid ten lines of child-handling code, you risk a (very improbable) race condition. And the extra fork wastes more time than a signal handler. And you may run out of processes. ---Dan