[NodeJS] kill子进程后,子进程执行的程序未退出

新手上路,请多包涵

环境: win10 => CMD => node main.js

main.js:
    const { exec } = require('child_process')
    const child = exec(一些 CMD:如 git 批处理 /执行其他 node 脚本,子进程回调)
    global[child.pid] = child
    
    setTimeout(()=> child.kill(), 1000) 

问题:

某些情况下(如 git merge 存在冲突, 其他 node 脚本业务特定异常)
这些情况会执行 child.kill()
且发现 child 的 exit 事件会被触发
且发现 child 的 killed 是 true
但是,如 git 批处理依然会继续执行, node 脚本也未被中断退出

请问这该怎么处理

阅读 1.7k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题