Node.js的核心文件是什么?

18

Node Public Directory Listing

如上图所示,我新安装的node.js应用程序目录中有很多core.*文件。这些是什么,它们的目的是什么?我可以删除这些文件吗?

我在apache后面安装了node.js,并使用mod_proxy在端口80上使用我的域之一。然后我安装了forever。有时候我停止node.js会遇到问题:

`forever stop server.js`

可能是这个导致了那些转储?有人能解释一下为什么会出现这些吗?

经过问题的排查,我发现我的虚拟机进程数量受限。使用Apache的Node似乎是后台原因。

-bash: fork: Cannot allocate memory

4
它在他的应用程序目录中,而不是硬盘上任何的库目录。他没有创建这个文件,也没有安装它,因此问为什么该文件首先会出现在那里是一个合理的问题。不询问这样的问题会让您接受系统中的恶意软件和病毒。 - slebetman
2
是的,如果它们在您的项目文件中,那就不正常。对于所有给他的问题点踩的人,这是一个完全值得问的问题,特别是如果它在应用程序文件夹中。fefe:您能看到核心目录中的任何子目录吗? - Tehsin
我突然在我的项目文件夹下看到了这些文件,它们的数量正在增长,我想知道它们在做什么。是的,我尝试打开这些文件,但它们是编码的。 - fefe
为什么大家都在对这个有趣的问题点踩? - greuze
它早在2013年开始。 - Peter Mortensen
2个回答

21

core.<number> 文件通常是在 Linux 系统上创建的内存转储文件。其中 <number> 表示崩溃进程的进程 ID。

我猜测您的 Node.js 应用程序已经崩溃了多次,这些是留下来供您调试的内存转储文件。


谢谢,这个应该能解释一些事情。我应该如何调试这些崩溃? - fefe
仅凭所提供的有限信息无法确定。 - Lightness Races in Orbit
如何避免Linux操作系统生成这些转储文件? - Usman Hafeez

8

如果这些文件在你的项目文件夹中,那么这是不正常的。针对那些给他的问题投反对票的人,这是一个非常值得问的问题,特别是如果它在应用程序文件夹中。

fefe:您能否在核心目录中看到任何子目录?

那些看起来像是内存转储。所以我猜,除非您想要通过它们进行调试,否则您可以放心删除它们。

尝试使用以下方法来调试这些崩溃:https://github.com/ddopson/node-segfault-handler


感谢您的反馈,我会尝试一下。 - fefe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接