On 02/03/10 15:59, Carlos Herrera Polo wrote:
No programo en Python, realmente no programo nada desde hace varios años, es por eso que no entiendo al 100% la programacion orientada a objetos.
De hecho Python es multiparadigma, puedes hacer programación imperativa "normal" sin utilizar objetos/clases (aunque los tipos básicos sí que son objetos).
Comence a programar en BASIC !, luego en Pascal y termine en PowerBuilder, de ahi herede ciertas costumbres, como por ejemplo ... ls significa (local string)
Ah, de acuerdo. Sólo era por comentarlo, que en Python ese tipo de nomenclatura no es idiomática.
http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html
Todo esto funciona bien, el tema es que "ejecutable.exe" a veces se queda como "pegado" y veo que en los procesos de Windows tengo varios ejecutable.exe, asi que cada ciertos dias estoy obligado de revisar que esto no ocurra, ya que la herramienta deja de trabajar....
Entonces ya habías empezado bien con subprocess.Popen. Hay muchas formas de controlar el proceso una vez arrancado, aquí va un pequeño ejemplo que re-inicia la ejecución si pasados N segundos no ha terminado.
http://docs.python.org/library/subprocess.html import subprocess import time def run_command(command, maxtime): popen = None while 1: if not popen: popen = subprocess.Popen(command) itime = time.time() print popen, itime continue elif popen.poll() is not None: break elapsed = time.time() - itime if elapsed > maxtime: popen.terminate() popen.wait() popen = None continue time.sleep(1) return popen.wait() retcode = run_command(["comando", "arg1", "arg2"], 60) -- http://www.arnau-sanchez.com _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/