【发布时间】:2015-11-21 21:17:22
【问题描述】:
我正在使用PM2 运行我的 Node 微服务,并且在开发过程中我还想启动 MongoDB,这样我就可以通过一个命令启动并运行开发。我有一个开发生态系统.js 文件,看起来像这样:
apps: [
{
name: 'API',
script: 'index.js',
out_file: './logs/api.stdout.log',
error_file: './logs/api.stderr.log'
},
{
name: 'Emailer',
script: 'services/emailer/index.js',
out_file: './logs/emailer.stdout.log',
error_file: './logs/emailer.stderr.log'
},
{
name: 'MongoDB',
script: 'services/development/mongodb.sh'
}
]
mongodb.sh 看起来像这样:
#!/bin/bash
mongod
当我启动 PM2 时,一切运行良好。当我调用pm2 stop all 时,它会杀死节点进程,但不会杀死 MongoDB。
我猜这是因为它附加到 bash 实例,而不是 mongod 实例。有没有办法让 PM2 启动并附加到可执行文件而不是脚本文件?
【问题讨论】: