Possible Duplicate:
how to call a program from python without waiting for it to return
I'm writing a PyQt program that needs to start an external Windows executable. At that point the Python program should continue to run, never needing any contact with the exe file it started.
I have tried several variations such as:
process = subprocess.Popen(["vncviewer.exe"]); process.communicate()
subprocess.call("vncviewer.exe")
os.system("vncviewer.exe")
os.system("vncviewer.exe&")
os.system("start vncviewer.exe")
etc.
Using most any strategy, I can run the program successfully, but the Python script is then blocked until the program completes. The GUI is frozen and unusable.
How can I have Python start a completely separate and unrelated task, and then continue to run so that I can open other programs, and even end the Python script without affecting the programs it started?