在执行 一个spawn 命令的时候,这个spawn 命令又可能执行了一些其它程序,但是kill的时候命令启动的子进程总是没有被执行,https://github.com/nodejs/node/issues/2098 中的解决办法我尝试了,但是还是没有用。
在 https://www.npmjs.com/package/node-process-watcher 库中我添加了一个结束子进程的方法。这个库目前只支持 linux和windwos。
安装 npm i node-process-watcher
使用:
const {node_process_watcher} = require("node-process-watcher");
node_process_watcher.kill_process(1234,true); // 杀死 1234 包括他的 的所有子进程