On Fri, Sep 07, 2012 at 01:27:38PM -0400, Tres Seaver wrote:
> On 09/06/2012 03:08 PM, Stefan H. Holek wrote:
> > On 06.09.2012, at 10:58, Marius Gedminas wrote:
> > 
> >> How do you redirect the stderr of a process spawned with 
> >> suprocess.Popen(shell=False) to /dev/null in a cross-platform
> >> manner?
> > 
> > os.devnull perhaps? Or rather, what about subprocess.Popen(cmd,
> > stderr=subprocess.PIPE)?

os.devnull was what I was looking for.

subprocess.Popen(stderr=subprocess.PIPE) was what I went with when I
didn't find os.devnull in time.

> subprocess.PIPE is no good -- it sets up stderr to be read from the
> parent process.  If enough stuff gets written without the parent reading,
> the child will block.

I believe subprocess.Popen.communicate() takes care of that.

Marius Gedminas
-- 
http://pov.lt/ -- Zope 3/BlueBream consulting and development

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists -
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )

Reply via email to