【发布时间】:2020-07-10 11:15:50
【问题描述】:
我注意到,当您手动关闭使用 Puppeteer 启动的浏览器时,它会持续占用内存。我尝试了 11 次启动浏览器实例,然后手动关闭它(单击浏览器界面上角的叉号),但在第 11 次尝试时我收到警告
(node:20424) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 exit listeners added to [process]. Use emitter.setMaxListeners() to increase limit
(node:20424) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 exit listeners added to [process]. Use emitter.setMaxListeners() to increase limit
(node:20424) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGINT listeners added to [process]. Use emitter.setMaxListeners() to increase limit
(node:20424) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGINT listeners added to [process]. Use emitter.setMaxListeners() to increase limit
(node:20424) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGTERM listeners added to [process]. Use emitter.setMaxListeners() to increase limit
(node:20424) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGTERM listeners added to [process]. Use emitter.setMaxListeners() to increase limit
(node:20424) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGHUP listeners added to [process]. Use emitter.setMaxListeners() to increase limit
(node:20424) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGHUP listeners added to [process]. Use emitter.setMaxListeners() to increase limit
当“断开连接”事件发生时,我尝试通过终止浏览器的子进程(由其 pid 标识)来解决此问题,但它不起作用:
browser = await puppeteer.launch({
headless:false,
devtools:false,
})
page = (await browser.pages())[0];
const browserPid = browser.process().pid;
browser.on('disconnected', () => {
process.kill(browserPid)
})
有什么帮助吗?
【问题讨论】:
标签: javascript puppeteer eventemitter