in reply to Catching Kill Process

When control-C is pressed, a signal will be sent which you must trap. You then should send some kind of acknowledging message to the user, then wait for the child-process to terminate. (If you need to send signal to the child, in order to get it to stop, you must send that signal yourself.) Be sure to respond only to the first occurrence of the signal, then, I suggest, remove the signal-handler. If the user presses control-C a second time, the result should probably be that everything dies-off as it is doing now.