handle sigint exits

Useful when you have a long running process
that you want to test coverage of using an integration
test.