> 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

Reply via email to