我一直在通过mongod
在同一台服务器上启动多个进程来测试副本集(因为使用多个服务更昂贵,我现在只是在测试)。
但是,由于我已将 mongo 更新到 v2.0.5 版本,因此当我尝试再次启动 mongod 时(在另一个端口上,使用另一个数据库文件夹等),我得到以下信息:
mongod already running
为什么会这样?是否有标志可以跳过此检查?
更新:由于某种原因,这只发生在我mongod
这样运行时:
sudo start-stop-daemon --start -c mainuser --exec /usr/local/bin/mongod -- --journal --nohttpinterface --dbpath /home/mainuser/data/db-secondary --logpath /home/mainuser/data/logs/mongodb-secondary.log --logappend --replSet appname --port 30001
当我像这样运行它时不会发生:
sudo /usr/local/bin/mongod --journal --nohttpinterface --dbpath /home/mainuser/data/db-secondary --logpath /home/mainuser/data/logs/mongodb-secondary.log --logappend --replSet appname --port 30001
不幸的是,我必须start-stop-daemon
在 Ubuntu 10.04 LTS 上的新贵脚本中使用 for 。为什么会导致这个问题?
阅读手册页后,start-stop-daemon
很明显它故意不尝试再次启动该过程,因为它认为它是相同的“服务”。但是,我只是start-stop-daemon
为了让我可以使用 Upstart 以不同的用户身份运行。是否可以绕过检查,或者以不同的方式在暴发户中以非 sudo 用户身份运行?