Spawning a new UI process

Steve Holden steve at
Sun Nov 9 23:42:49 CET 2008

Ed Leafe wrote:
>     I'm working on a wxPython app (well, a Dabo app, but it's basically
> the same thing) that presents the user with a selection of several
> wxPython apps that exist on their system. They choose one, and I want to
> then "launch" that app, as if they had typed "python" from a
> terminal window. The initial app can either terminate or continue;
> that's not terribly important. The important thing is to get the
> selected app to run in a separate process.
>     I've tried all the variants of os.spawn* and os.exec*, without
> success. Either nothing happens, or a Python interpreter is opened in
> the Terminal window I used to run the launcher. I want to do something
> like:
> cd (appdir)
> pth = os.path.join(os.getcwd(), "")
> followed by one of:
> os.spawnl(os.P_NOWAIT, "")
> os.spawnl(os.P_NOWAIT, pth)
> os.spawnl(os.P_NOWAIT, "python", pth)
> os.spawnl(os.P_NOWAIT, "python", "")
> os.spawnl(os.P_NOWAIT, "/usr/bin/python", pth)
> os.spawnl(os.P_NOWAIT, "/usr/bin/python", "")
>     The only result I've gotten is a Python interpreter is started, but
> the GUI app that should be launched by '' is never run.
>     So what am I missing? How do I launch a python app in a separate
> process from another Python app?
Ed! Good to see you on!

a) Try using the subprocess module
b) Use *.pyw programs to ensure no console window is created.

Steve Holden        +1 571 484 6266   +1 800 494 3119
Holden Web LLC    

More information about the Python-list mailing list