在终端中停止Gulp时如何关闭BrowserSync的旧实例?

jus*_*osh 3 terminal node.js gulp gulp-browser-sync

我是Gulp和BrowserSync的新手,所以我已经多次运行gulp并停止(由终端中的ctrl + z强制).每当我在终端再次开始吞咽时,BrowserSync会给我一个新的PORT号码.

我需要帮助删除BrowserSync的旧实例.终端中是否有命令可以查看和删除旧的BS实例?这甚至可能吗?我在港口3001(本地)和3002(UI)开始了BS,现在我在3018!我想回到3001.

另外,如何修复我的Gulpfile.js代码,这样当我强制终止gulp终端时,browserSync退出本地和UI服务器实例,所以端口号不会继续增加?

Gulpfile.js中的我的BrowserSync部分非常基本:

gulp.task('browser', function () {
  // Serve files from root of this folder
  browserSync({
      server: {
        baseDir: './'
      }
  });
  gulp.watch(['html/*.html', 'js/*.js']).on("change", reload);
});

gulp.task('default', ['styles','browser'], function() {
  gulp.watch('./sass/**/*.scss', ['styles']);
});
Run Code Online (Sandbox Code Playgroud)

在我的mac终端中,最新的BS实例是30018,UI恰好是3021(因为我最近使用了bs.server.close(),它关闭了本地实例,但没有关闭UI实例.

[BS] Access URLs:
 --------------------------------------
       Local: http://localhost:3018
    External: http://192.168.1.164:3018
 --------------------------------------
          UI: http://localhost:3021
 UI External: http://192.168.1.164:3021
 --------------------------------------
[BS] Serving files from: ./
^Z
[16]+  Stopped                 gulp
Run Code Online (Sandbox Code Playgroud)

Ste*_*Dev 8

问题ctrl + z只是暂停这个过程.(见https://superuser.com/a/262948)

你想要的是什么ctrl + c,它将杀死它.

首先,关闭你的终端,这应该杀死在后台仍然活动的任何端口连接.

接下来,重新启动服务器,但使用ctrl + c退出.您应该能够使用此方法连续停止和重新启动.