MongoDB:错误:子进程失败,退出时出现错误号14

Lus*_*ter 6 mongodb

我在Mac上运行MongoDB:

Shave:mongodb_simple Logan$ ./bin/mongod -f conf/mongod.conf
about to fork child process, waiting until server is ready for connections.
forked process: 5110
ERROR: child process failed, exited with error number 14
Run Code Online (Sandbox Code Playgroud)

那是因为我以错误的方式关闭它吗?

jul*_*oup 10

你开始并可能以错误的方式关闭mongo.

1.开始MONGODB

在后台启动mongo类型:mongod --dbpath /data/db --fork --logpath /dev/null.

  • /data/db是db的位置.如果你还没有创建一个=>类型:mkdir /data/db
  • --fork 意味着你想在后台启动mongo - deamon.
  • --logpath /dev/null意味着您不想记录 - 您可以通过替换/dev/null路径来更改它/var/log/mongo.log

2.关闭MONGODB

键入以下内容连接到您的mongo:mongo然后use admindb.shutdownServer().就像在mongoDB中解释一样

如果这种技术由于某种原因不起作用,你总是可以杀死这个过程.

  1. PID通过键入以下内容找到mongodb进程:lsof -i:27017假设您的mongodb在端口27017上运行
  2. 键入kill <PID>,替换<PID>为您在上一个命令中找到的值.


小智 8

检查文件的所有权 /tmp/mongodb-27017.sock

应该是mongod。我遇到了同样的错误,因为它是root:root


avc*_*vck 5

对我来说这是ulimit个问题,mongo 无法打开太多文件。

用过的ulimit -n 10000

然而,当通用指针查看 mongo 日志文件时,它们会告诉您进一步查看哪里。通常日志文件都在,/var/log/mongo.log但请查看您的 mongo 配置文件。


com*_*sny 3

这是因为您没有mongod在传递给该选项的配置文件中正确配置实例-f。重新访问您的配置文件并确保所有内容都配置正确。

  • 当我收到此错误时,这是​​因为我的“/tmp/mongodb-27017.sock”文件由“root”拥有。即使“-v”选项也无助于解决这个问题。我最终删除了所有配置文件信息,因此它使用了默认值,_然后_它终于给了我正确的错误消息。 (7认同)