hi, this is how i do it:
from subprocess import Popen, PIPE, call, check_call if sys.platform == 'win32': net.processWithoutGui = Popen( ['python', self.temporaryFilename,'-w'], shell=False, cwd=lNetworkDir) else: net.processWithoutGui = Popen( [self.temporaryFilename,'-w'], shell=False, cwd=lNetworkDir) hope it helps yomgui Mark Shewfelt wrote:
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
-- http://mail.python.org/mailman/listinfo/python-list