Overriding the SIGINT event was not allowing us to kill the parent process (http://nodejs.org/docs/latest/api/process.html#process_signal_events).

I took the functionality that listens for these events and kills the child process out of library and made sure that the default state of the child process is not detached. This means that if the parent process quits, the child process will quit as well (http://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options).

If a user wants to have a detached process, they can. I would suggest they do the child process cleanup on any termination events.