[Python] aiuto subprocess py2exe

Vittorio Spina vittorio.spina a gmail.com
Lun 5 Nov 2012 16:48:28 CET


Ciao a tutti, ho un problema che non so come superare.
Ho scritto il programmino banale:

/import os
import subprocess
from aconfig import *
Config    = aconfig("conf/conf.cf")  #leggo la configurazione esterna 
con una classe mia
file                = Config.filetolaunch #consideriamolo ad esempio 
file="c:/prog.exe"
checkDoubleRun        = Config.checkDoubleRun #consideriamolo True
processisactive=False
if checkDoubleRun:
     in_file = open("pid.pid","r")
     FilePid = in_file.read()
     in_file.close()
     p = subprocess.Popen("pslist "+FilePid.replace("\n",""), 
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
     out, err = p.communicate()
     if "was not found" not in out:
         processisactive=True
if not processisactive:
     process=subprocess.Popen(r'"'+file+'"', shell=True)
     pid=process.pid
     out_file = open("pid.pid","w")
     out_file.write(str(pid))
     out_file.close()/

In pratica il programmetto in questione non fa altro che lanciare 
un'altra app e segnarsi il PID che viene scritto in un file temporaneo 
pid.pid
se quando priprovo a lanciare l'applicazione vedo che il PID č attivo 
(usando pslist) il programma non lo lancia di nuovo, questo per non 
avviare due volte la stessa applicazione.
Funziona. Se perņ lo compilo con py2exe come window, ricevo un errore 
sull'handle riportato nel file di log:

/Traceback (most recent call last):
   File "launcher.py", line 15, in <module>
   File "subprocess.pyc", line 588, in __init__
   File "subprocess.pyc", line 707, in _get_handles
   File "subprocess.pyc", line 752, in _make_inheritable
WindowsError: [Error 6] Handle non valido/

cosa puņ essere secondo voi?
grazie
Vittorio
-------------- parte successiva --------------
Un allegato HTML č stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20121105/3a440435/attachment.html>


Maggiori informazioni sulla lista Python