关闭后运行的电子进程,吃掉 RAM 和处理器

Posted

技术标签:

【中文标题】关闭后运行的电子进程,吃掉 RAM 和处理器【英文标题】:Electron process running after closing, eating RAM and Processor 【发布时间】:2021-12-22 07:32:10 【问题描述】:

我正在开发一个新的 Electron 应用程序,并且经常不得不进入我的任务管理器并杀死一堆挥之不去的 Electron 进程,因为它正在吞噬我的内存。在屏幕截图中,其中一个正在使用 17,000 MB 的 RAM,从而降低了我的笔记本电脑的运行速度。有没有办法在退出应用程序后阻止进程运行?运行构建并部署到生产环境时会出现此“功能”吗?

有没有办法准确监控为什么这个进程会占用这么多内存?应用程序关闭后,我无法访问开发控制台

Lingering electron process using a lot of RAM

【问题讨论】:

【参考方案1】:

当您关闭它时,您的代码会调用 app.quit 吗?不知道为什么你会使用这么多的内存,但如果你没有这些行,那么可执行文件继续运行是有道理的。

app.on('window-all-closed', () => 
    if (process.platform !== 'darwin') 
        console.log("Closing program.")
        app.quit()
    
)

【讨论】:

嘿,是的,我正在使用 Electron Builder,所有的 app.quits 都被放入了各种操作系统的 background.js 中(尽管这只会在 Windows 上发布)。我想我只需要在发布到 staging 时监控不同的人的任务管理器,看看这是否会成为一个问题,或者只是一个奇怪的“功能”,在开发中突然出现

以上是关于关闭后运行的电子进程,吃掉 RAM 和处理器的主要内容,如果未能解决你的问题,请参考以下文章

python 如何监测进程是不是关闭?

子进程打开意外的电子窗口

几个小时后,RAM 密集型 C# 进程变慢

Ubuntu 在终端关闭情况下仍然运行进程

如果我的操作系统使用连续内存分配模型,我可以在4GB RAM上运行5GB进程[关闭]

并发文件上载/下载和运行后台进程