Using subprocess.Popen() in a Windows service
Mark Shewfelt
mshewfelt at gmail.com
Wed Nov 5 14:56:33 EST 2008
Hello,
I am attempting to use Popen() in a Windows service. I have a small
Win32 .exe that I normally run through the os.popen2() function. I've
written a class to work with the input and output parameters that are
passed and captured from this exe. When I use the class outside of a
service using either subprocess.Popen or os.popen2 work just fine.
When I use this class inside a Windows service it doesn't work. It
doesn't crash the service or anything but there are no values returned
from the Popen. Here's how I'm calling Popen:
p = subprocess.Popen( cmd, shell=True, bufsize=128,
stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE,
cwd="C:\\path_to_exe\\" )
p.wait()
(modbus_stdin, modbus_stdout)=(p.stdin,p.stdout)
lines = modbus_stdout.readlines()
While this doesn't fail there is nothing in the lines variable when it
finishes.
I am using Python 2.5 on a Windows XP Professional machine. Any help
would be greatly appreciated.
Best Regards,
Mark Shewfelt
More information about the Python-list
mailing list