【问题标题】:How to write a script for starting nodemon and mongod如何编写启动nodemon和mongod的脚本
【发布时间】:2019-03-02 01:19:50
【问题描述】:

我想制作一个自动运行 nodemon 和 mongod 的 bash 文件。 我有以下代码:

#!/usr/bin/env bash

workingDirectory="$(pwd)/"
serverFolder="${workingDirectory}first-app/caffeineOverflow"

cd "${serverFolder}"
mongod &
export caffeine_overflow_jwtPrivateKey=ok 
nodemon & 

我用 sudo 运行它,这样我就可以运行 mongod。我收到以下错误: initAndListen 中的异常:DBPathInUse:无法锁定锁定文件:/data/db/mongod.lock(资源暂时不可用)。另一个 mongod 实例已经在 /data/db 目录上运行,正在终止

我应该怎么做才能让这段代码运行?

【问题讨论】:

    标签: node.js mongodb bash


    【解决方案1】:

    这意味着mongodb 服务器的另一个实例正在运行。这很可能是因为mongod & 在后台运行该进程,并且如果没有正确关闭它可能会继续运行。在您的脚本中包含mongod --shutdown 步骤,如下所示:

    #!/usr/bin/env bash
    
    workingDirectory="$(pwd)/"
    serverFolder="${workingDirectory}first-app/caffeineOverflow"
    cd "${serverFolder}"
    
    # Ensure that mongod is not running by killing it
    mongod --shutdown
    
    # Continue
    mongod &
    export caffeine_overflow_jwtPrivateKey=ok 
    nodemon & 
    

    【讨论】:

    • 我得到这个错误: throw er; // 未处理的 'error' 事件 Error: listen EADDRINUSE: address already in use :::3000
    • @Giannis 在运行nodemon之前,您还需要关闭在端口3000 中运行的node 进程
    猜你喜欢
    • 2019-05-08
    • 2016-04-15
    • 2013-09-08
    • 2016-02-26
    • 2016-08-18
    • 2018-12-28
    • 2018-07-12
    • 1970-01-01
    • 2018-01-29
    相关资源
    最近更新 更多