There are so many threads on this subject, but I ran across a situation on Windows that I can't figure out.
I'm trying to run this little command-line exe and when I launch like this, it hangs: >>> import subprocess >>> command = r'c:\mydir\foo.exe' >>> run = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, >>> stdin=None, stderr=subprocess.PIPE, env=os.environ, universal_newlines=True) >>> returncode = run.wait() ## HANGS HERE ## I can run this exe manually via the command prompt and it returns after a few seconds, but more importantly when I run it as follows it works fine: >>> import os >>> command = r'c:\mydir\foo.exe' >>> os.system(command) ## WORKS FINE! ## Unfortunately I don't know too much about the exe (well, I do know that it spits out some stdout that I collect, but I don't know the exe's source code.) I can't figure out why the subprocess module is having a hard time with this particular exe. I've tried so many different permutations of subprocess.Popen and they all hang on this exe. Even if try to do the usual (pseudo code): while(returncode is None): returncode = run.poll() time.sleep(1) blah blah blah returncode is always None... In other words, it's hung. I can't figure out why os.system works fine, but subprocess.Popen thinks the process hasn't finished. Any ideas would be greatly appreciated. I'm all ears. -- http://mail.python.org/mailman/listinfo/python-list