到目前为止,我有一个执行'mongod --dbpath db'的child_process和另一个可以用'mongod --dbpath db --shutdown'杀死它的child_process。如何监听用户输入 ctrl-c 或退出 gulp runner,然后运行 gulp 任务关闭 mongo?
最佳答案
我正在尝试类似的东西并遇到了 this answer .我对它进行了一些重构,使其成为运行命令功能。从功能上讲,--shutdown
和我正在使用的命令之间应该没有区别。
var gulp = require('gulp');
var exec = require('child_process').exec;
function runCommand(command) {
return function (cb) {
exec(command, function (err, stdout, stderr) {
console.log(stdout);
console.log(stderr);
cb(err);
});
}
}
//Running mongo
//https://stackoverflow.com/a/28048696/46810
gulp.task('start-mongo', runCommand('mongod --dbpath ./data/'));
gulp.task('stop-mongo', runCommand('mongo --eval "use admin; db.shutdownServer();"'));
gulp.task('start-app', runCommand('node app.js'));
关于node.js - 使用 Gulp 管理打开和关闭 MongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28665395/