os.exec en Windows

Tengo un script que llama a os.execvp a otra instancia de Python. Después de hacer esto, parece que estoy conectado a una instancia de cmd.exe , no a la instancia de Python que acabo de crear. La instancia de Python responde a Ctrl + C sin embargo.

 H:\bin>Python 3.2.1 (default, Jul 10 2011, 21:51:15) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> print('hi') Can't find file ('hi') H:\bin> H:\bin> KeyboardInterrupt >>> echo hi hi 

La llamada al exec :

 from sys import argv os.execvp('python', argv) 

¿Cómo sustituyo la instancia de Python original por la nueva, según el comportamiento que se puede ver en Linux?

En Unix, los archivos binarios se dividen en dos etapas: fork (3) para clonar el proceso actual y exec (3) para cargar el archivo ejecutable en el espacio de direcciones. En Windows solo hay CreateProcess que hace lo mismo que fork + exec.

Para la portabilidad, su mejor opción es usar subprocess.Popen (que también hace citas de nombres de archivos adecuados en Windows a diferencia de sus contrapartes de * os) como en http://docs.python.org/library/subprocess.html#replacing-the-os- engendro familiar