pyinstaller: 2 instances of my cherrypy app exe get executed

主宰稳场 提交于 2019-12-12 10:46:09

问题


I have a cherrypy app that I've made an exe with pyinstaller. now when I run the exe it loads itself twice into memory. Watching the taskmanager shows the first instance load into about 1k, then a second later a second instance of hte exe loads into about 3k ram. If I close the bigger one both processes die. If I close hte smaller one only that one dies.

Loading the exe with subprocess, if I try to proc.kill(), it only kills the small one leaving the other running in memory. Is this a sideeffect of using cherrypy and pyinstaller together?


回答1:


PyInstaller spawns a subprocess during its boot process. This is explained in a section of its manual.




回答2:


It would be important to know what version of CherryPy you are using. The 2.x line had an unfortunate design: the autoreloader feature always started a second instance of CherryPy, so the first could respawn the child when it was killed off. That was fixed in version 3 to only use one process. If you are using version 2, turn off the autoreload feature via the config entry:

[global]
autoreload.on = False


来源:https://stackoverflow.com/questions/2124603/pyinstaller-2-instances-of-my-cherrypy-app-exe-get-executed

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!