tags:

views:

56

answers:

2

Hi,

I am using Popen to run a command but I don't know how I can write a callback that gets called once the command is finished. Any idea?

Thanks. Bin

+1  A: 

You can call communicate():

 p = subprocess.Popen('find . -name "*.txt"', stdout=subprocess.PIPE, stderr=subprocess.PIPE)
 stdout, stderr = p.communicate()

You can also call wait(), but this might cause problems if the child process fills its output buffer.

Jeet
+1  A: 

You could use p.poll() method of the Popen object.

http://docs.python.org/library/subprocess.html#subprocess.Popen.poll

Cody Snider