subprocess.Popen spawning cmd shells

2008-01-09 Thread Mrown
Hi,
  I'm currently writing a python program that relies on a CLI
program.  What I'm currently doing is using subprocess.Popen on Python
2.5.1.  Here's the line that I'm currently running:

child = subprocess.Popen([c:\app.exe, node, -w,
str(tmpTime * 1000), '-n', str(1), '-l'], stdin=subprocess.PIPE,
stdout=subprocess.PIPE, stderr=subprocess.PIPE)

The problem is that although the above works, a CMD shell is spawned
and becomes visible for each time I run the above.  I thought that by
redircting stdin, stdout and stderr, no CMD shell should pop-up.  Is
something wrong in the way I'm using subprocess?  Thanks for your help.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: subprocess.Popen spawning cmd shells

2008-01-09 Thread Mrown
On Jan 9, 5:17 pm, Mrown [EMAIL PROTECTED] wrote:
 Hi,
   I'm currently writing a python program that relies on a CLI
 program.  What I'm currently doing is using subprocess.Popen on Python
 2.5.1.  Here's the line that I'm currently running:

             child = subprocess.Popen([c:\app.exe, node, -w,
 str(tmpTime * 1000), '-n', str(1), '-l'], stdin=subprocess.PIPE,
 stdout=subprocess.PIPE, stderr=subprocess.PIPE)

 The problem is that although the above works, a CMD shell is spawned
 and becomes visible for each time I run the above.  I thought that by
 redircting stdin, stdout and stderr, no CMD shell should pop-up.  Is
 something wrong in the way I'm using subprocess?  Thanks for your help.

To anyone interested, I found the solution by using the
CREATE_NO_WINDOW creation flag.  So this is what the code now looks
like (and it doesn't spawn any shells):

CREATE_NO_WINDOW = 0x800
child = subprocess.Popen([c:\app.exe, node, -w,
str(tmpTime * 1000), '-n', str(1), '-l'], stdin=subprocess.PIPE,
stdout=subprocess.PIPE, stderr=subprocess.PIPE, creationflags =
CREATE_NO_WINDOW)
-- 
http://mail.python.org/mailman/listinfo/python-list