problem with opening a new python program in a new window (and keeping track of the process)

Tim Golden mail at timgolden.me.uk
Wed Nov 3 15:48:55 CET 2010


On 02/11/2010 20:55, Zak Kinion wrote:
> What I want to do:  launch seperate python programs from one main
> program (multi-threading will not achieve this because the mechanize
> library uses one shared global opener object which will not suit my
> needs)  I want the scripts launched to be in seperate windows that i
> can see the output of on screen, seperate processes.  I can accomplish
> this in win32 by:
>
> import subprocess;
> args = ["cmd", "/c", "START", "python", "myScript.py"];
> process1 = subprocess.Popen(args, shell=False);

Pass CREATE_NEW_CONSOLE as one of the creationflags:

<code>
import os, sys
import subprocess

processes = []
cmd = [sys.executable, "-c", "import os; print os.getpid (); raw_input ()"]
for i in range (3):
   processes.append (subprocess.Popen (cmd, 
creationflags=subprocess.CREATE_NEW_CONSOLE))

#
# Keep looping round to see the current status
#
while True:
   for p in processes:
     print p.poll ()

   raw_input ()

</code>

TJG



More information about the Python-list mailing list