Tim Johnson
> using Python 2.7.1 on OS X 10.7.5
>
> I'm managing a process of drush using an instance of subprocess.Popen
>
> The process has a '--verbose' option. When that option is passed as
> part of the initializer `args' argument, the process will hang.
>
> It should be no surprise as drush output with the --verbose option
> can be _extremely_ verbose, and I can do without it, but I would
> like to learn how to handle it. I've googled this topic, but my poor
> little brain is yet to sort out all of the content found.
>
> ## my relevant code follows :
> p = subprocess.Popen(args,stderr=subprocess.STDOUT,stdout=subprocess.PIPE)
> ## wait() is 'forever' if '--verbose' used
> exit_status = p.wait()
> output = p.stdout.read()
> ## done
>
> I 'suspect' that using a tempfile may be the solution, if so, I
> could use some examples.
>
> thanks
> --
> Tim
> tim at tee jay forty nine dot com or akwebsoft dot com
> http://www.akwebsoft.com
> --
I think the documentation covers your issue.
"""
Popen.wait()
Wait for child process to terminate. Set and return returncode attribute.
Warning: will deadlock when using stdout=PIPE and/or stderr=PIPE and the
child
process generates enough output to a pipe such that it blocks waiting for
the
OS pipe buffer to accept more data. Use [Popen.]communicate() to avoid that.
""" From http://docs.python.org/2/library/subprocess.html#subprocess.Popen.wait
Does switching to `p.communicate()` solve your problem?
~Ramit
This email is confidential and subject to important disclaimers and conditions
including on offers for the purchase or sale of securities, accuracy and
completeness of information, viruses, confidentiality, legal privilege, and
legal entity disclaimers, available at
http://www.jpmorgan.com/pages/disclosures/email.
--
http://mail.python.org/mailman/listinfo/python-list