Node.js ChildProcess#kill()不会杀死由Windows

时间:2017-05-19 02:21:58

标签: node.js windows cmd child-process

我试图在Windows上杀死由命令npm.cmd(使用Node.js API生成)创建的子进程。

执行npm.cmd run build之类的操作。使用process.kill()似乎能够成功结束npm.cmd命令,但不能使用npm命令创建的Node.js进程。

let cp = spawn('npm.cmd', ['run', 'build']);

cp.on('exit', code => {
  // It will log after 5 seconds.
  // But Node.js process created by `npm run build` will not end.
  console.log(`Exited with code ${code}.`);
});

setTimeout(() => cp.kill(), 5000);

我尝试将process.kill()替换为类似spawn('taskkill', ['/f', '/t', '/pid', process.pid])的内容,但效果很好。如何使用Node.js API实现相同的功能?

0 个答案:

没有答案