pyinstaller:我的cherrypy app exe的2个实例被执行

d.c*_*d.c 6 python cherrypy pyinstaller

我有一个樱桃应用程序,我用pyinstaller制作了一个exe.现在,当我运行exe时,它会将自身加载到内存中两次.观察任务管理器显示第一个实例加载到大约1k,然后一秒钟后,第二个实例加载到大约3k ram.如果我关闭较大的一个,两个进程都会死掉.如果我关闭较小的一个只有一个死亡.

使用subprocess加载exe,如果我尝试proc.kill(),它只会杀死小的,而另一个在内存中运行.这是一起使用cherrypy和pyinstaller的副作用吗?

Gio*_*ajo 5

PyInstaller在启动过程中产生一个子进程。这在其手册的一部分中进行了说明。

  • 链接已损坏。 (2认同)

fum*_*chu 1

了解您使用的 CherryPy 版本非常重要。2.x 系列有一个不幸的设计:自动重新加载器功能总是启动 CherryPy 的第二个实例,因此第一个实例可能会在子进程被杀死时重生。这一问题在版本 3 中得到修复,只使用一个进程。如果您使用的是版本 2,请通过配置条目关闭自动重新加载功能:

[global]
autoreload.on = False
Run Code Online (Sandbox Code Playgroud)