2010-01-23 15 views
6

Tengo una aplicación cerebrona que he hecho un exe con pyinstaller. ahora cuando ejecuto el exe se carga dos veces en la memoria. Ver el administrador de tareas muestra la carga de la primera instancia en aproximadamente 1k, luego, un segundo más tarde, una segunda instancia de hte exe se carga en aproximadamente 3k de ram. Si cierro el más grande, ambos procesos mueren. Si cierro el más pequeño, solo ese muere.pyinstaller: 2 instancias de mi aplicación ejecutiva cherrypy se ejecutan

Cargando el exe con el subproceso, si trato de proc.kill(), que sólo mata a la pequeña dejando correr la otra en la memoria. ¿Es esto un efecto secundario de usar cherrypy y pyinstaller juntos?

Respuesta

1

Sería importante saber qué versión de CherryPy está utilizando. La línea 2.x tenía un diseño desafortunado: la función autoreloader siempre iniciaba una segunda instancia de CherryPy, por lo que la primera podía reaparecer al niño cuando se eliminó. Eso fue corregido en la versión 3 para usar solo un proceso. Si está utilizando la versión 2, desactivar la función autoreload a través de la entrada de configuración:

[global] 
autoreload.on = False 
3

PyInstaller genera un subproceso durante el proceso de arranque. Esto se explica en a section of its manual.

+0

Hola Giovanni, siempre es un placer hablar contigo. Necesito su apoyo y experiencia con respecto a esta pregunta: http://stackoverflow.com/questions/14997414/obfuscating-python-bytecode-through-interpreter-mutation/14997695 - Gracias :) – securecurve

Cuestiones relacionadas