Node,kill无法杀死进程。

发布于 2022-09-03 13:40:15 字数 707 浏览 10 评论 0

最近想玩一下electron,于是想用gulp实现electron开发的时候自动rebuild。
electron build的命令是electorn .。于是我在gulp中利用child_process执行命令electorn .,但是当我检查到文件有变化的时候想杀死原来的进程的时候确没办法成功。有谁能帮忙看一下吗?
gulpfile.js的代码如下

let gulp = require("gulp");
let exec = require("child_process").exec;

let electron;
const BUILD_COMMAND = "electron .";

gulp.task("build",function () {
  electron = exec(BUILD_COMMAND);
});

gulp.task("rebuild",function () {
  if(electron){
    electron.kill("SIGINT");
  }
  electron = exec(BUILD_COMMAND);
});

gulp.task("watch",function () {
  gulp.watch(["main.js","index.html"],["rebuild"]);
});

gulp.task("default",["build","watch"]);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

落在眉间の轻吻 2022-09-10 13:40:15

SIGINT并不是关闭进程,而是键盘中断。使用默认的SIGTERM就是了,也就是 .kill()。临时查的文档,建议看看官方文档,没用过 child process。
node child_process 文档
signal 列表

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文