> From: Chris Rebert <c...@rebertia.com> >> On Tue, Aug 9, 2011 at 11:38 PM, Danny Wong (dannwong) >> <dannw...@cisco.com> wrote: >>> Hi All, >>> I'm trying to execute some external commands from multiple database. >>> I'm using threads and subprocess.Popen ( from docs, all the popen* >>> functions are deprecated and I was told to use subprocess.Popen) to >>> execute the external commands in parallel, but the commands seems to >>> hang. >> >> What's your Popen() call look like? > > On Tue, Aug 9, 2011 at 11:48 PM, Danny Wong (dannwong) > <dannw...@cisco.com> wrote: >> try: >> cmd_output = subprocess.Popen(['scm', 'load', '--force', '-r', >> nickname, '-d', directory, project], stdout=subprocess.PIPE, >> stderr=subprocess.PIPE) >> status = cmd_output.wait() > > Er, did you read the warning about Popen.wait() in the docs? (emphasis added):
On Tue, Aug 9, 2011 at 11:56 PM, Danny Wong (dannwong) <dannw...@cisco.com> wrote: > I did read that portion of the doc, then I change it to communicate and it > still hangs. So I reverted back to "wait" while launching one thread to see > if I could isolate the problem, but it still hangs regardless of using "wait" > or "communicate". Since you want to log the output to a file, have you tried: logfile = open("path/to/file", 'r') proc = subprocess.Popen(['scm', 'load', '--force', '-r', nickname, '-d', directory, project], stdout=logfile, stderr=subprocess.STDOUT) status = proc.wait() or similar? Cheers, Chris -- Damn Outlook/Exchange and its "On Behalf Of"! http://rebertia.com -- http://mail.python.org/mailman/listinfo/python-list