Spawning a new UI process
steve at holdenweb.com
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 myapp.py" 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
> cd (appdir)
> pth = os.path.join(os.getcwd(), "main.py")
> followed by one of:
> os.spawnl(os.P_NOWAIT, "main.py")
> os.spawnl(os.P_NOWAIT, pth)
> os.spawnl(os.P_NOWAIT, "python", pth)
> os.spawnl(os.P_NOWAIT, "python", "main.py")
> os.spawnl(os.P_NOWAIT, "/usr/bin/python", pth)
> os.spawnl(os.P_NOWAIT, "/usr/bin/python", "main.py")
> The only result I've gotten is a Python interpreter is started, but
> the GUI app that should be launched by 'main.py' 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 c.l.py!
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 http://www.holdenweb.com/
More information about the Python-list