If the CTRL-C event can't be sent to the child for whatever reason, the test will never terminate, because `proc_close()` waits for an infinite amount of time. Therefore, we `proc_terminate()` the child instead, after explicitly closing the pipes.