gpt4 book ai didi

node.js - 无法杀死 NodeJS 应用程序

转载 作者:太空宇宙 更新时间:2023-11-04 00:47:57 25 4
gpt4 key购买 nike

有一天,我的应用程序突然决定不死。

当我检查端口时按 ctrl + c 后,它仍然在那里,不仅在我的机器上,而且在 PM2 管理的服务器上,所以我每次都需要去那里手动终止进程。我试图在我的代码中查找问题,当我找不到时,我只是认为这只是依赖项错误之一,很快就会有修复。这有点烦人,但我可以使用kill -9 PID 来终止该进程,而且我的大部分任务都在前端完成,所以这并不是什么大问题。今天,一个多星期过去了,问题仍然存在。我回顾了历史,选择了几周前所做的提交,一切都运行良好,将 NodeJS 从 5.1.0 切换到 4.2.1,清除了 npm 缓存,重新安装了所有依赖项,但我仍然看到问题。我使用的是 LoopbackJS,但通常我只是用“node server/server.js”启动应用程序,然后就会发生上述问题,但如果我使用“slc run”,然后尝试用 ctrl + c 终止应用程序,它就会永远挂起,我的意思是我可以按 ctrl+c 任意多次,它仍然在控制台前台运行。

如果我不按 ctrl+c 来终止控制台中的选项卡,应用程序就会毫无问题地终止。

这是我在运行“lsof -i tcp:4000”后看到的结果,当时应用程序应该已经死了,但实际上并没有

lsof -i tcp:4000

编辑:使用 Strongloop 进程管理器运行和终止它 - slc start/slc stop 工作正常,但在开发过程中使用运行 NodeJS 应用程序 (node server.js) 的正常方式会更方便,并且它不会改变存在一些问题的事实,最好不要将其隐藏在地毯下。

最佳答案

出于愤怒,我将我的应用程序剥离为最基本的元素。我逐个文件、一点一点地找到了答案。罪魁祸首是 phantomJS - https://github.com/sgentle/phantomjs-node 。 PATCH 版本 0.8.2 引入了此错误。修复程序大约在一个月前创建,一周前合并,但尚未在 npm 上发布。

关于node.js - 无法杀死 NodeJS 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33879801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com