[signals] Is it possible to capture a Ctrl+C signal and run a cleanup function, in a "defer" fashion?