Why Ctrl-C doesn't kill multithreaded Python scripts, and how to fix it
snakesthatbite.blogspot.com