I'm writing a program which has to execute a command, get its output and show it on a treeview. This command runs for a very long time. I want to end the execution of the command when the user closes my application.
Right now I'm using an object my_child of type subprocess.Popen to execute the command, inside a thread with an infinite loop where we constantly ask for its output. To end the program when the user closes the application, I send a SIGTERM to the process with pid my_child.pid using os.kill. But I also have to send a SIGTERM to my_child.pid + 1 because my_child.pid is the pid of /bin/sh -c which is the one which calls the command, because when I try to run Popen with shell=False, it sends an exception and says the file or directory doesn't exist. Anyone knows of a better way to close the command than using a SIGTERM? I just can't help myself thinking this is an ugly dirty hack. -- http://mail.python.org/mailman/listinfo/python-list