What are the problems encountered when nodejs and gulp are used together?

  node.js, question
var gulp = require('gulp');
 var child = require('child_process');
 var express = require('express');
 var app = express();
 //  ......
 app.use(bodyParser.urlencoded({ extended: true }));
 app.get('/', function (req, res) {
 //  ......
 //Here I want to execute the default gulp task when post, but there is an error, the error is as follows
 app.post("/", function(req, res){
 //  .....
 child.exec('gulp', function(err){
 var server = app.listen(3000, function (req, res){
 Log ("program is running ...");
 // gulp.start('default');

Js file, the error is as follows:

{ [Error: Command failed: /bin/sh -c gulp
 throw er;  // Unhandled 'error' event
 Error: listen EADDRINUSE :::3000
 at Object.exports._errnoException (util.js:837:11)
 at exports._exceptionWithHostPort (util.js:860:20)
 at Server._listen2 (net.js:1231:14)
 at listen (net.js:1267:10)
 at Server.listen (net.js:1363:5)
 at EventEmitter.listen (/home/quoniam/nodeStudy/gulp-musheng/node_modules/express/lib/application.js:617:24)
 at Object.<anonymous> (/home/quoniam/nodeStudy/gulp-musheng/gulpfile.js:49:18)
 at Module._compile (module.js:434:26)
 at Object.Module._extensions..js (module.js:452:10)
 at Module.load (module.js:355:32)
 ] killed: false, code: 1, signal: null, cmd: '/bin/sh -c gulp' }

I would like to ask how to solve this problem. (Problem: I want to execute the default gulp task when post, but there is an error)

Port 3000 is occupied, try to command pkillinode and restart node service nodepap.js.