Skip to content Skip to sidebar Skip to footer

Cannot Stop Gulp With Ctrl+C When Using Gulp-nodemon & Gulp.watch Together

When I run gulp without the node task, it works fine and processes client file as expected, If I run gulp node it processes server file as expected. However if I run both gulp it p

Solution 1:

Right at the top you have

var monitorCtrlC = require('monitorctrlc');

and inside of the watch task you have

monitorCtrlC();

Which seems to be this library

This function will prevent sending of SIGINT signal when Ctrl+C is pressed. Instead, the specified (or default) callback will be invoked.


Solution 2:

I had a similar issue before this is what you're looking for :

process.on('SIGINT', function() {
  setTimeout(function() {
    gutil.log(gutil.colors.red('Successfully closed ' + process.pid));
    process.exit(1);
  }, 500);
});

Just add this code to your gulp file. It will watch the ctrl + C and properly terminate the process. You can put some other code in the timeout also if desired.


Solution 3:

just in case it helps someone else, I deleted the node_modules and did npm install which fixed the issue for me...


Solution 4:

The SIGINT solution did not work for me, probably because I'm also using gulp-nodemon but this worked:

    var monitor = $.nodemon(...)
    // Make sure we can exit on Ctrl+C
    process.once('SIGINT', function() {
    monitor.once('exit', function() {
          console.log('Closing gulp');
          process.exit();
        });
    });
    monitor.once('quit', function() {
        console.log('Closing gulp');
        process.exit();
    });

Got it from here.


Post a Comment for "Cannot Stop Gulp With Ctrl+C When Using Gulp-nodemon & Gulp.watch Together"