In general you want something like the `system' command to ignore SIGINT and SIGQUIT so that if the command you run is interactive then interrupting it will not cause the parent (ML) process to think something went wrong. I'm not saying that it is the way to go here.