I found a solution in which I additionally start the mongoDB server:
var child_process = require('child_process'); var nodemon = require('gulp-nodemon'); var processes = {server1: null, server2: null, mongo: null}; gulp.task('start:server', function (cb) { // The magic happens here ... processes.server1 = nodemon({ script: "server1.js", ext: "js" }); // ... and here processes.server2 = nodemon({ script: "server2.js", ext: "js" }); cb(); // For parallel execution accept a callback. // For further info see "Async task support" section here: // https://github.com/gulpjs/gulp/blob/master/docs/API.md }); gulp.task('start:mongo', function (cb) { processes.mongo = child_process.exec('mongod', function (err, stdout, stderr) {}); cb(); }); process.on('exit', function () { // In case the gulp process is closed (eg by pressing [CTRL + C]) stop both processes processes.server1.kill(); processes.server2.kill(); processes.mongo.kill(); }); gulp.task('run', ['start:mongo', 'start:server']); gulp.task('default', ['run']);
source share