I'm using the multiprocessing module to do parallel processing in my program. When I'm testing it, I'll often want to kill the program early when I notice a bug, since it takes a while to run to completion. In my Linux environment, I run my program from a terminal, and use Ctrl+C to kill it. With multiprocessing, this causes all the processes to be killed, but I never get the bash prompt back, and have to close the terminal and open a new one (and navigate back to my working directory) which is quite annoying. Is there any way to get around this?
A:
You could use screen to start the process, then kill the screen session when you need to. It won't take out the whole bash terminal. For a good screen tutorial see:
Jon
2010-09-10 17:12:23
+4
A:
Hit Ctrl-Z to suspend the Python process, then do kill %1
to kill it. You can also just hit Ctrl-\ (backslash), but that may cause the process to leave a core file.
llasram
2010-09-10 17:12:34
+1: Sometimes with multithreaded/multiprocess programs you have to `kill -9 %1` that bad boy.
jathanism
2010-09-10 17:20:02